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

HMVCを利用する

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
HMVCは Hierarchical MVCの略称で、コントローラー同士がデータをやり取りすることで、各モジュールの独立性を保つための仕組みです。ここでは、簡単な例で紹介しましょう。
講師:
09:25

字幕

ここでは、HMVC を利用するとしましてFuelPHP の機能の1つである HMVC というものについて紹介していきたいと思います。HMVC というのは Hierarchical MVC というのですが言葉としては非常に難しいのですがそれほど難しい話ではありません。例えば、今ここにはブログの機能があります。例えば、このウェブサイトには別途、ショップの機能があったとしてショップの機能の情報をブログの機能の中に取り込めたい場合等があります。どういうことかというと例えば、こちら今、このウェブサイトはFuelPHP で構築されていてこちら、Fuel app modules の中にblog という機能とcart という機能があります。そして今この画面に表示されているのはblog の各 contoroller から生成されている機能なのですがこちらの cart の方で提供されている機能の1部を使いたい場合があるかもしれません。その場合、この HMVC という機能を使ってcontroller 同士のやり取りをすることでこれを実現していくことができます。具体的にやりながら、詳しく説明していきましょう。では、プロジェクトを説明していきます。 ここでは、lesson07-07 というフォルダを作り、この中に Fuel app としてこちら modules の中にblog と cart というそれぞれのフォルダがあります。そして、blog の中には classes contoroller article.php というファイルがありviews の中には、blog の view.php があります。さらに、cart の方には、 classes contoroller としてitem.php があり、そして今回、特には使わないのですがconfig db.php の中では、このように MAMP の mysql に接続できるような文字列が記述されています。そしてもう1つこちらpublic フォルダの中には画像とそれからスタイルシートが整えられているためこちら、このブログのアーティクル画面/blog/article/view ですねこちらがこのように整った画面に表示されています。では、ファイルの中身も見ながらもう少し詳しく説明していきましょう。まずここではこちらFuel app . modules cart の中のclasses contoroller の item.phpこちらのファイルを開いてください。 すると、この中にはこのようにコントローラーの item が定義されていてaction index としてこのように画面に簡単なものが表示されるというスクリプトを記述しました。ここでは、アクションを1つ追加します。例えば、アクションの newitem としてここでは、return と記述します。そして、例えば、PHP 入門 等という文章を表示するようにしましょう。まず、これで一度動きを確認してみます。こちら、MAMP の環境設定でDucumentRoot が lesson07-07 の public になっていることを確認しウェブブラウザで今回、モジュールを使っていますのでこちら、cart の中のこちら contololler 名 の item の中のこちらアクション名が NewItem となります。こちら画面を表示するとこのように文字化けしてしまいますがエンコードを変更すればこちらですね、UTF8 に変えれば、このようにきちんと表示されていることが確認できます。本当は、view 等をきちんと定義すればもうすこし整った画面にできるのですがここでは、手順を省略して、こういった形にしていきましょう。 これで例えば新しい商品を知るという時に例えば、ここでデータベース所謂、model 等から NewItem 発売日がいついつより新しいものと縛り込んで取ってきたデータを画面に表示すると等と作り込めば実際の NewItem のアクションを作ることができます。そして、この NewItem ですけどもこのウェブサイトのブログを読んでいる時ここでも新商品のご紹介等ができるとこのサイトとして、非常に効果的かもしれません。その時、わざわざ、商品の model 等をこのブログのコントローラーが参照してデータを持ってくる等としてしてしまうと処理が明確に分けられなくなりメンテナンス性が悪くなる可能性があります。そこで、HMVC の機能を使ってコントローラー同士でデータをやり取りしその新商品のデータをもってくるということをしてみたいと思います。まだまだ、言葉を聞くと難しく感じますがそれほど難しい手続きではないので安心してください。やり方はこのようになります。こちらの画面を今、表示しているのはブログモジュールの中の、classes controller article.php というファイルです。ここのこちら、action_view というアクションがこちらの画面を表示するという動きをしています。 では、ここで、HMVC の機能を使いここに新商品の情報を表示できるようにしましょう。では、ここでは、データの NewItem というindex に対しこのようにします。/request::forgue、そして、ここにcart/item/newitem というモジュール名それから、コントローラーの名前そして、アクション名と記述していきます。そして、最後に excute というふうに記述します。これで、この cart の item の newitem を実行した時の画面表示をこちらデータの newitem にセットすることができます。なので、後は、これをそのまま view に渡してあげてそして今度は view ファイルを編集して行きましょう。こちら、blog フォルダの中に入っているviews/blog の中に view.php があります。こちらの、例えば、この部分等にこのようにH2として新商品のご案内等とし今、取得した物を表示してみましょう。ここでは、 newitem という変数になります。これで動きを確認してみます。こちら、このようにブログのアーティクルのview という所にアクセスをすると新商品のご案内としてPHP入門という形で商品の情報が出ています。 もちろん、こちらですね、newitem の情報が変わった場合にはこちらブログの情報も変わるというわけです。では、もう少し詳しく内容を見ていきましょう。この HMVC ですけど、このように request という class の module を使ってモジュール名、コントローラーの名前アクション名という順番で書くことでその画面をあたかも表示したかのような状態でこの変数の中に持ってくることができます。この時、モジュールを使っている場合はネームスペースの宣言があるのでクラス名の前には必ず \ を付けなければなりません。そしてその後、この excute と付けることで実行することができます。では、それをこのようにパラメータとして渡せば、view の方に渡され、その view のほうでこの情報を使うことができるというわけです。この HMVC やってみるとそれほど難しくないですけれども概念を理解したり、どのような処理の切り分けをすればよいのかというところは少し難しいかもしれませんので最初はいくつかサンプルを作ってみて使い方をマスターしてから実用で使っていくと良いかもしれません。

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

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

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

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

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

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