CakePHPを知る_003_CakePHPのクラスのローディング

BaserCMSの処理を理解するために、自分的に必要なところから、

CakePHPの公式サイトなどを参考にして、

CakePHPに関して理解を深めていきます。

※資料としては、最新バージョンに縛られず、わかりやすかった

 資料を参考にしています。

 

CakePHPのクラスロード>

オブジェクト指向でクラスを使って、作られていると思いますが、

そもそも、CakePHPでクラスのローディングってどうするのって

いうところがわからなかったので、

下記の内容をもとに理解しました。

(参考): App クラス — CakePHP Cookbook 2.x ドキュメント

 

BaserCMSのソースを見ていくと、

Appクラスのメソッドのうち、

よく使われているものが3つあるようですので、

合わせて覚えておいた方がよいかもしれないですね。

○App::uses    ・・・ クラスのローディング

○App::path    ・・・ パスの取得

○App::import ・・・ ファイルのインクルード

 

この3つが基本となって、クラス呼び出しや

関連するファイルの呼び出しなどを行っているようです。

基本的なことですが、これを理解しておくことで、

で少しずつ、BaserCMSのソースも読むことができそうですね。

 

 

 

CakePHPを知る_002_CakePHPのフォルダ構造

BaserCMSの処理を理解するために、自分的に必要なところから、

CakePHPの公式サイトなどを参考にして、

CakePHPに関して理解を深めていきます。

※資料としては、最新バージョンに縛られず、わかりやすかった

 資料を参考にしています。

 

CakePHPのフォルダ構造

CakePHPのフォルダ構造に関しては、

下記の内容を参考にしました。

(参考):CakePHPのフォルダ構造 

 

この記載の中で、

主要な三つのフォルダに注目」

となっており、

1.appフォルダ   ・・・作成したファイルを入れるフォルダ

2.libフォルダ   ・・・コアファイルが置かれているフォルダ

3.vendorsフォルダ ・・・PHPライブラリが置かれているフォルダ

の3つが挙げられています。

 

2については、

—-引用—–

開発チームが作成したプログラムが入る場所です。

このフォルダの中のファイルを勝手に編集 しない と誓ってください。

これはコア (心臓部分) で、ここをいじってしまうと、

私たちはもう助けを差し伸べることができません。

——————

と注意されています。

 

BaserCMSに関しても、libフォルダの下には

〇Baserフォルダ

〇Cakeフォルダ

が存在しており、

Cakeフォルダ」が上記のCakePHPのコアファイルが置かれているフォルダ。

Baserフォルダ」がCakePHPのコアファイルをもとに、

BaserCMS用のコア処理をまとめているフォルダということですね。

 

どちらもコアファイルなので、ここをいじってしまうと

「助けてぇ~(ToT)/~~~」

  ↓

「私たちはもう助けを差し伸べることができません( ̄ー ̄)」

となってしまいますので、注意です。

CakePHPを知る_001_MVCデザインパターン

BaserCMSの処理を理解するために、自分的に必要なところから、

CakePHPの公式サイトなどを参考にして、

CakePHPに関して理解を深めていきます。

※資料としては、最新バージョンに縛られず、わかりやすかった

 資料を参考にしています。

 

CakePHPMVCデザインパターン

CakePHPは、

MVCデザインパターン

を採用しています。

(参考)MVC(Model-View-Controller)を理解する 

 

これに関しては、上記の参考サイトの中のこの図がわかりやすい。

f:id:shevhome:20150816041006p:plain

(参考)CakePHP公式サイトより、一部引用。

 

このデザインパターンに関しては、

他の言語でも使われていますが、

・処理をコントロールする部分(コントローラ:Controller)

・各処理の詳細を行う部分(モデル:Model)

・処理結果を表示する部分(ビュー:View)

の3つに分類しましょう、というやり方ですね。

 

ですので、上記の参考サイトの画像の1~6の流れで、

処理が流れていくことを覚えておけばよいかなと。

 

BaserCMSもCakePHPの規約等に則って作成されていると

思うので、MVCデザインパターンの作りを意識していると、

理解が早まるかもしれませんね。

プロフィール

学ぶパンダ

初心者向けにプログラミング学習や

就職・転職に向けた情報を発信

独学向け(勉強方法)
独学向け(プログラミング)
独学向け(Webデザイン)
独学向け(javaScript)
独学向け(PHP/Laravel)
独学向け(Ruby/Rails)