FuelPHPによるMVCプログラミング入門

Formクラスを利用する

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Formクラスを利用すると、HTMLのフォームを自動的に生成することができます。たくさんの属性を覚えたりするのが面倒な場合には、この機能を利用すると便利でしょう。
講師:
11:04

字幕

ここではフォームを作る時に便利なクラスの1つであるフォームクラスというものを使ってみたいと思います。特に無理に使う必要はありませんが使うと id 属性や name 属性を自動的に割り振ってくれたりなど便利な所が何かとありますので是非、一度は使ってみましょう。それではプロジェクトを作成していきます。今回は新しく、こちらの fuelphp を MAMP のアップロード先フォルダーにあるMAMP のhtdocs にアップロードします。そして、lesson_05_01 という名前を記述しデータベースは今回、特に必要ありませんので、このままファイルを作成していきたいと思います。そして、MAMP のドキュメントルートに関してはこちら、05_01/public にセットします。ではファイルを作成していきましょう。DreamWeaver で新しいファイルを作成したら内容はすべて消して構いませんのでクラスとして Controller の、今回は contact というクラスにしたいと思います。extends を Controller としpublic function でaction_index とします。 そして、ここでは view を1つ作りましょう。この後を contact/index というview を作成しますのでこの様に view を割り当てます。では、こちらでファイルを保存しましょう。今回はhtdocs の lesson_05_01fuelupclassescontrollerの中にcontact.php という名前で保存をします。続いて view を準備しましょう。view は、こちら新しいファイルを作成してこちらのテンプレートの HTMLこれをコピー&ペーストしていきます。こちらの保存先としましては1つ上の Views の中です。先程作ったのは contact というフォルダーの中のindex.php を読みますという命令をここで書きましたのでそのファイルを準備しました。では、ここに「お問い合わせ」等とタイトルを付けてこちらにフォームを作っていきましょう。ではまずは一度こちらで表示を確認しておきます。その前に、今度はlesson_05_01 の public の中に素材のstyle と images をコピーしておきます。ではこちら、ドキュメントルートが正しく設定されていることを確認して表示をみていきましょう。 今回は /contact/ という形になります。こちら「お問い合わせ」のページが表示されればまずはこちらで OK です。では作成を続けていきましょう。ここに「お問い合わせ」のフォームを作っていくんですけれど通常、フォームを作る場合というのはこの様な form タグとしてaction 属性や method 属性といった形でタグを書き込んでいきます。ただ、あまり HTML に詳しくないプログラマーにとってはこういったタグを書くというのはあまり馴染みがないかもしれません。そこで、fuelphp にはこういったフォームのタグなどを自動的に生成するクラスform クラスというのが準備されています。例えば、ここに php としてprint とします。そして、form の :: open としてcontact/check 等としましょう。こちらのパラ―メーターにはフォームのジャンプ先が指定されます。そして今度は print でform の closeというメソッドを呼び出します。こちらの close についてはパラメーターはありません。これによって form は閉じられます。実際こちらで改めて表示を確認してみましょう。 Web ブラウザーを再読み込みすると画面上の表示は特に変わりませんがページのソースを見ていきます。すると、この様に form タグが書かれていてaction として http のlocalhost:8888index.php/contact/check ということでこの様に URL が指定されていることがわかります。更にここでは accept-charset ということで文字コードを utf8 に限定しますというセキュリティに関わるタグが書き込まれています。更にメソッドにも post という風に書き込まれているという形で通常指定しなければならないような属性も自動的に付加してくれます。この様にタグの書き方を覚えたりですとか属性の種類を覚えたりというようなことをするよりももしかしたら、こちらの form クラスの方が使いやすいかもしれません。尚、出力される action 属性の URL にはこの様に / の後index.php/contact/ ということでindex.php というファイル名が付いてしまっています。今、私たちが見ているのは/contact ですので本来ここのジャンプ先もcontact/check となっている方が好ましいのですけど基本的には、この index.php が付いてしまいます。 もし、この index.php を表示しないようにしたい場合にはconfig を変更していきます。lesson_05_01 の fuelupconfigの中にあるcongfig.php をエディターで開きましょう。この中に少し下にスクロールした所にindex_file という設定項目があり標準では index.php というものが指定されています。そこで、この部分を書き換えてfalse にしてみましょう。すると、こちらの画面再読み込みをするとこの様に URL はすっきりとしたものに’なります。但し、この index.php を消せるかどうかというのはここのコメントにも書いてあるんですが使っている Web サーバーがmod_rewrite というあるモジュールがあるんですけどそれに対応しているかどうかによって変わってきてしまいます。まずは、ここを false にして確かめて良いかもしれませんが場合によってリンク切れ等を起こすことがありますのでその場合には設定を元に戻しておきましょう。ここでは、そのままの設定で行きたいと思います。では、ほかの form クラスも使っていきましょう。まずテキストボックスを表示するためにはこちら、print のform の input メソッドというものを使っていきます。 ここには、名前を指定しますので例えば mynameというものを指定しましょう。そして2番目のパラメーターとしては標準の値を指定することができます。更に、その他にも3番目のパラメーターとしてスタイルシートを指定したり様々な属性を指定したりもできるんですがここではまず、簡単にこの様に1つのパラメーターで行きたいと思います。では、こちらで画面を確認してみましょう。再読み込みをすると、この様にテキストフィールドが追加されました。こちらの HTML ソースも確認しておきます。こちら、input の name がmyname になっています。value は空、type は textそして id としてform_mynameという風に指定されています。この様にたくさんの属性があるんですけどそれらをたったこれだけの記述ですべて作り出してくれるので非常に便利と言えるのではないでしょうか。更に他のメソッドも見ていきましょう。続いてが label メソッドです。例えば、ここに label としまして「お名前」と記述します。更に、ここに myname と記述しましょう。こちらで再度表示を確認します。するとこの様に「お名前」というラベルが作られました。 そして、この「お名前」というラベルですけどこの様に label for という属性でform_myname と記述されています。この form_myname というのは今こちらに作ったテキストフィールドに振られているid 属性です。つまり、ここで指定したmyname というのとここで指定した myname というものが同じ、一致しているためにこのラベルは、このテキストフィールドへのラベルである。ということが認識され例えばここをクリックすることでこの様にテキストフィールドにフォーカスが当たるという様なことも可能になります。この様にちょっと面倒くさいことを自動でやってくれるというのがこのメソッドの良い所です。では最後に submit ボタンをご紹介しましょう。submit は、この様にform の submitというメソッドがありますのでここに、まずボタンのラベルを付けます。そしてこの様に value 値ですね。ボタンの表面の文字列を設定することができます。これで画面を確認してみましょう。このように、今度は「送信する」ボタンが設置されました。こちらも HTML ソースを見ていきますとinput で name が submitvalue が「送信する」type が submitそして id も振られるという形でこの様にすべて自動で生成されます。 既に HTML を知っているという方にとってはこちらのメソッド群を覚える方が手間がかかるかもしれませんのでその場合には無理に使う必要はありません。fuelphp は通常通り作ったフォームであってももちろん受け付けることができます。ただ、HTML を今から覚えるというようなプログラマーの方々やこういった自動的に様々な属性が生成される点が便利だと感じる方は使ってみると便利かもしれません。ここでは紹介しきれませんでしたがその他にもセレクトボックスを設置したりテキストエリアを設置したりというようなことが可能ですのでドキュメントなどを読んで様々なメソッドを使ってみて下さい。

FuelPHPによるMVCプログラミング入門

このコースでは、PHPのフレームワークのひとつであるFuelPHPを紹介していきます。フレームワークとはスクリプト開発における「足場」となるもので、近年のスクリプト開発においては非常に一般的な存在となっています。高速な開発スタイルをぜひとも身に付けていきましょう。

6時間19分 (47 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月12日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。