プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
FuelPHP1.6、Formクラスを理解する。
FuelPHPではFieldsetクラスなるものを使うことで、
なんか良い感じにフォームを作れるらしい。

ふ~ん(--)

まぁそれはそのうち見るとして、今回はFormクラスで遊んでみました。
ちなみにFormクラスさんのお仕事はHTMLのタグを吐くことですね。

例えば

<?php echo Form::open(array('action' => 'hoge/', 'method' => 'post', 'name' => 'f1', 'id' => 'id_f1', 'class' => 'class_f1')); ?>

と書くと

<form action="http://172.0.0.1/f/public/hoge/" method="post" name="f1" id="id_f1" class="class_f1" accept-charset="utf-8">

のような形で出力されます。

ほんで、Formクラスさんができるお仕事はこんな感じφ(--)

1.formの開きタグ
 ■PHPのコード
<?php echo Form::open(array('action' => 'hoge/', 'method' => 'post', 'name' => 'f1', 'id' => 'id_f1', 'class' => 'class_f1')); ?>

 ■出力されるHTML
<form action="http://172.0.0.1/f/public/hoge/" method="post" name="f1" id="id_f1" class="class_f1" accept-charset="utf-8">


2.formの閉じタグ
 ■PHPのコード
<?php echo Form::close(); ?>

 ■出力されるHTML
</form>


3.fieldsetの開きタグ
 ■PHPのコード
<?php echo Form::fieldset_open(array('id' => 'id_fieldset', 'class' => 'class_fieldset')); ?>

 ■出力されるHTML
<fieldset id="id_fieldset" class="class_fieldset" >


4.fieldsetの閉じタグ
 ■PHPのコード
<?php echo Form::fieldset_close(); ?>

 ■出力されるHTML
</fieldset>


5.inputタグ
 ■PHPのコード
<?php echo Form::input('name', 'value', array('id' => 'id_input', 'class' => 'class_input')); ?>

 ■出力されるHTML
<input id="id_input" class="class_input" name="name" value="value" type="text" />


6.hiddenタグ
 ■PHPのコード
<?php echo Form::hidden('name', 'value', array('id' => 'id_hidden', 'class' => 'class_hidden')); ?>

 ■出力されるHTML
<input id="id_hidden" class="class_hidden" name="name" value="value" type="hidden" />


7.passwordタグ
 ■PHPのコード
<?php echo Form::password('name', 'value', array('id' => 'id_password', 'class' => 'class_password')); ?>

 ■出力されるHTML
<input id="id_password" class="class_password" name="name" value="value" type="password" />


8.radioタグ
 ■PHPのコード
<?php echo Form::radio('name', 'value', null, array('id' => 'form_id_radio', 'class' => 'class_radio')); ?>
<?php echo Form::label('value', 'id_radio'); ?>
<?php echo Form::radio('name', 'value2', true, array('id' => 'form_id_radio2', 'class' => 'class_radio')); ?>
<?php echo Form::label('value2', 'id_radio2'); ?>
<?php echo Form::radio('name', 'value3', null, array('id' => 'form_id_radio3', 'class' => 'class_radio')); ?>
<?php echo Form::label('value3', 'id_radio3'); ?>

 ■出力されるHTML
<input id="form_id_radio" class="class_radio" name="name" value="value" type="radio" />
<label for="form_id_radio">value</label>
<input id="form_id_radio2" class="class_radio" name="name" value="value2" checked="checked" type="radio" />
<label for="form_id_radio2">value2</label>
<input id="form_id_radio3" class="class_radio" name="name" value="value3" type="radio" />
<label for="form_id_radio3">value3</label>

「Form::label」では第二引数でid属性を指定するのですが、勝手に頭に「form_」がくっついちゃうようです。

9.checkboxタグ
 ■PHPのコード
<?php echo Form::checkbox('name', 'value', null, array('id' => 'form_id_checkbox', 'class' => 'class_checkbox')); ?>
<?php echo Form::label('value', 'id_checkbox'); ?>
<?php echo Form::checkbox('name', 'value2', true, array('id' => 'form_id_checkbox2', 'class' => 'class_checkbox')); ?>
<?php echo Form::label('value2', 'id_checkbox2'); ?>
<?php echo Form::checkbox('name', 'value3', null, array('id' => 'form_id_checkbox3', 'class' => 'class_checkbox')); ?>
<?php echo Form::label('value3', 'id_checkbox3'); ?>

 ■出力されるHTML
<input id="form_id_checkbox" class="class_checkbox" name="name" value="value" type="checkbox" />
<label for="form_id_checkbox">value</label>
<input id="form_id_checkbox2" class="class_checkbox" name="name" value="value2" checked="checked" type="checkbox" />
<label for="form_id_checkbox2">value2</label>
<input id="form_id_checkbox3" class="class_checkbox" name="name" value="value3" type="checkbox" />
<label for="form_id_checkbox3">value3</label>


10.fileタグ
 ■PHPのコード
<?php echo Form::file('name', array('id' => 'id_file', 'class' => 'class_file')); ?>

 ■出力されるHTML
<input id="id_file" class="class_file" name="name" type="file" value="" />


11.buttonタグ
 ■PHPのコード
<?php echo Form::button('name', 'value', array('id' => 'id_button', 'class' => 'class_button')); ?>

 ■出力されるHTML
<button id="id_button" class="class_button" name="name">value</button>


12.resetタグ
 ■PHPのコード
<?php echo Form::reset('name', 'value', array('id' => 'id_reset', 'class' => 'class_reset')); ?>

 ■出力されるHTML
<input id="id_reset" class="class_reset" name="name" value="value" type="reset" />


13.submitタグ
 ■PHPのコード
<?php echo Form::submit('name', 'value', array('id' => 'id_submit', 'class' => 'class_submit')); ?>

 ■出力されるHTML
<input id="id_submit" class="class_submit" name="name" value="value" type="submit" />


14.textareaタグ
 ■PHPのコード
<?php echo Form::textarea('name', 'value', array('id' => 'id_textarea', 'class' => 'class_textarea')); ?>

 ■出力されるHTML
<textarea id="id_textarea" class="class_textarea" name="name">value</textarea>


15.selectタグ
 ■PHPのコード
<?php echo Form::select('name', 'value', array('value','value2','value3'), array('id' => 'form_id_select', 'class' => 'class_select')); ?>

 ■出力されるHTML
<select id="form_id_select" class="class_select" name="name">
    <option value="0">value</option>
    <option value="1">value2</option>
    <option value="2">value3</option>
</select>


16.selectタグ
 ■PHPのコード
<?php echo Form::label('value', 'id_label'); ?>

 ■出力されるHTML
<label for="form_id_label">value</label>value

最後に、全部まとめてこんなviewを作るとφ(--)
<html>
<head>
    <title></title>
</head>
<body>
<?php echo Form::open(array('action' => 'hoge/', 'method' => 'post', 'name' => 'f1', 'id' => 'id_f1', 'class' => 'class_f1')) . "\n"; ?>

<?php echo Form::fieldset_open(array('id' => 'id_fieldset', 'class' => 'class_fieldset')) . "\n"; ?>

<?php echo Form::input('name', 'value', array('id' => 'id_input', 'class' => 'class_input')) . "\n"; ?>

<?php echo Form::hidden('name', 'value', array('id' => 'id_hidden', 'class' => 'class_hidden')) . "\n"; ?>

<?php echo Form::password('name', 'value', array('id' => 'id_password', 'class' => 'class_password')) . "\n"; ?>

<?php echo Form::radio('name', 'value', null, array('id' => 'form_id_radio', 'class' => 'class_radio')) . "\n"; ?>
<?php echo Form::label('value', 'id_radio') . "\n"; ?>
<?php echo Form::radio('name', 'value2', true, array('id' => 'form_id_radio2', 'class' => 'class_radio')) . "\n"; ?>
<?php echo Form::label('value2', 'id_radio2') . "\n"; ?>
<?php echo Form::radio('name', 'value3', null, array('id' => 'form_id_radio3', 'class' => 'class_radio')) . "\n"; ?>
<?php echo Form::label('value3', 'id_radio3') . "\n"; ?>

<?php echo Form::checkbox('name', 'value', null, array('id' => 'form_id_checkbox', 'class' => 'class_checkbox')) . "\n"; ?>
<?php echo Form::label('value', 'id_checkbox') . "\n"; ?>
<?php echo Form::checkbox('name', 'value2', true, array('id' => 'form_id_checkbox2', 'class' => 'class_checkbox')) . "\n"; ?>
<?php echo Form::label('value2', 'id_checkbox2') . "\n"; ?>
<?php echo Form::checkbox('name', 'value3', null, array('id' => 'form_id_checkbox3', 'class' => 'class_checkbox')) . "\n"; ?>
<?php echo Form::label('value3', 'id_checkbox3') . "\n"; ?>

<?php echo Form::file('name', array('id' => 'id_file', 'class' => 'class_file')) . "\n"; ?>

<?php echo Form::button('name', 'value', array('id' => 'id_button', 'class' => 'class_button')) . "\n"; ?>

<?php echo Form::reset('name', 'value', array('id' => 'id_reset', 'class' => 'class_reset')) . "\n"; ?>

<?php echo Form::submit('name', 'value', array('id' => 'id_submit', 'class' => 'class_submit')) . "\n"; ?>

<?php echo Form::textarea('name', 'value', array('id' => 'id_textarea', 'class' => 'class_textarea')) . "\n"; ?>

<?php echo Form::select('name', 'value', array('value','value2','value3'), array('id' => 'form_id_select', 'class' => 'class_select')) . "\n"; ?>

<?php echo Form::label('value', 'id_label') . "\n"; ?>

<?php echo Form::fieldset_close() . "\n"; ?>

<?php echo Form::close() . "\n"; ?>
</body>
</html>

こんなHTMLが出力されますφ(--)
<html>
<head>
    <title></title>
</head>
<body>
<form action="http://192.168.11.3/f/public/hoge/" method="post" name="f1" id="id_f1" class="class_f1" accept-charset="utf-8">

<fieldset id="id_fieldset" class="class_fieldset" >

<input id="id_input" class="class_input" name="name" value="value" type="text" />

<input id="id_hidden" class="class_hidden" name="name" value="value" type="hidden" />

<input id="id_password" class="class_password" name="name" value="value" type="password" />

<input id="form_id_radio" class="class_radio" name="name" value="value" type="radio" />
<label for="form_id_radio">value</label>
<input id="form_id_radio2" class="class_radio" name="name" value="value2" checked="checked" type="radio" />
<label for="form_id_radio2">value2</label>
<input id="form_id_radio3" class="class_radio" name="name" value="value3" type="radio" />
<label for="form_id_radio3">value3</label>

<input id="form_id_checkbox" class="class_checkbox" name="name" value="value" type="checkbox" />
<label for="form_id_checkbox">value</label>
<input id="form_id_checkbox2" class="class_checkbox" name="name" value="value2" checked="checked" type="checkbox" />
<label for="form_id_checkbox2">value2</label>
<input id="form_id_checkbox3" class="class_checkbox" name="name" value="value3" type="checkbox" />
<label for="form_id_checkbox3">value3</label>

<input id="id_file" class="class_file" name="name" type="file" value="" />

<button id="id_button" class="class_button" name="name">value</button>

<input id="id_reset" class="class_reset" name="name" value="value" type="reset" />

<input id="id_submit" class="class_submit" name="name" value="value" type="submit" />

<textarea id="id_textarea" class="class_textarea" name="name">value</textarea>

<select id="form_id_select" class="class_select" name="name">
    <option value="0">value</option>
    <option value="1">value2</option>
    <option value="2">value3</option>
</select>

<label for="form_id_label">value</label>

</fieldset>

</form>
</body>
</html>

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:FuelPHP  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事