PHP ~CakePHPについて~

shinnosuke1106

こんにちは!

しんちゃんです!

今回は、PHPのフレームワークの中でも有名なCakePHPについて話していきたいと思います。

 

CakePHPとは

CakePHPとは、フレームワークの中の一つなのですが、そもそもフレームワークとは、簡単に言うと、Webサイトなどを作るときの骨組みみたいなものです。こちらの記事で詳しく書いてあります。

そして、そんなフレームワークの中一つのCakePHPですが、MVCフレームワークでもあります。ここで出てきました。MVCとは?ですね。

 

MVCとは?

MVCとは、「モデル(Model)」、「ビュー(View)」、「コントローラー(Controller)」という三つに分けて、設計していく手法のことです。

それでは、モデル、ビュー、コントローラーについて詳しく話していきたいと思います。

 

モデル(Model)

モデルは主にデータベースからデータを取ってきたり、保存したりなどのロジックの部分をやっていきます。さすが、モデルという名前があるくらいかっこいいことしてますね!

 

ビュー(View)

ビューは、その名の通り見た目の担当をしてくれます。画面の出力なども行ってくれています。

 

コントローラー(Controller)

コントローラーは、制御を担当します。具体的には、モデルから受け取ったデータを加工して、ビューに渡したり、クライアントから受け取ったデータを受け取って、モデルに渡したりします。

つまり、コントローラーがいることでクライアント、モデル、ビューを繋ぐことが出来ています。

これら、モデル、ビュー、コントローラーを合わせているのがMVCフレームワークです。そして、CakePHPもこのMVCフレームワークとなっています。

 

CakePHPの特徴

CakePHPの特徴としては、「設定より規約」という特徴があります。いきなりなんだよって感じなのですが、かつては複雑で大量なファイルが必要であったりなどいろいろと複雑であったのがMVCフレームワークだったようです。

そのような複雑であったのですが、クラス名などの規約に沿っていれば、アプリケーションが動くようになっているのがCakePHPとなっています。

 

CakePHPのMVC

それでは、ここからさらにCakePHPのMVCについて解説していきたいと思います。

CakePHPのモデル(Model)

まず、モデルについては、テーブルクラストエンティティクラスに分かれていきます。

テーブルクラスとは、データベースのテーブルからデータを取得したり、保存したりしていきます。ここで、テーブルという言葉が出てきましたが、よくExcelなどで出てくる列や業の集まりをイメージしてくれればと思います。そのテーブルをデータベースから取ってくるのがテーブルクラスです。

エンティティクラストは、PHPとデータベースの仲介役を担う役割を果たしています。データベースから受け取ったものをPHPやwebアプリなどに分かりやすく形式に変換させていくなどのことです。

 

CakePHPのビュー(View)

CakePHPのビューは、Templateと呼ばれるものと協調し、コントローラーから受け取ったものをユーザーに分かりやすく伝える役割をしています。先ほどのビューの説明でもあったようにコントローラーから受け取ったものを結び付けて僕たちに分かりやすく表示させてくれています。

 

CakePHPのコントローラー(Controller)

CakePHPのコントローラ―は、コントローラーのところでも説明したように、モデルとビューとクライアントと結びついています。その際に、ルーティングというものとも密接に結びついています。ルーティングとは、コントローラーの動きを関連付けることです。

また、ユーザーからのリクエストに対してコントローラー内でアクションを起こすことをアクションメソッドと言います。

これでひとまず簡単なCakePHPについての説明とさせていただきます。このボリュームではまだまだ語り切れないこともあると思いますので、これからもどんどん発信していきたいと思います!

 

まとめ

今回は、CakePHPについての解説をしていきました!

CakePHPはMVCフレームワークであること。

MVCフレームワークは、MVCとは、「モデル(Model)」、「ビュー(View)」、「コントローラー(Controller)」という三つに分かれていること。

CakePHPの「モデル(Model)」、「ビュー(View)」、「コントローラー(Controller)」についての説明。

以上のことについて話していきました!

CakePHPはかなり有名なフレームワークの一つでもあるので、是非一度触れてみるのもいいですよね!

ではでは~!

ABOUT ME
shinnosuke1106
shinnosuke1106
しんちゃんです! 世の中うまくいったり時に、自分が思っていたこととは違った方向に行くこともあるけれど、それも何かの前に進むために必要な準備だと思ってます! 自分がこうなりたいかっこいい自分になるまでの軌跡をこのブログでは書いていけたらいいなって思ってますよ~
記事URLをコピーしました