エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP 2.3 bakeの超初心者向けフォロー講座

      2014/06/26

Bakeの超初心者向け講座

 

CakePHPの Bakeとは?

 
CakePHPなどのフレームワークを使う際に非常に便利なものが bakeのようなプログラムの自動生成ツールです。
 
CakePHPのチュートリアルでも、最初に CakePHPの基本的な説明があった後の 2番目の項目として説明されるくらい重要なものとして提示されている、非常に便利な自動でソースファイルを生成してくれるツールです。
 
ですが、フレームワークを初めて使う方には馴染みがないものであることも確かです。
そんな場合は、下記のサイトで非常に分かりやすく丁寧に説明されていましたので、参考になると思います。
 http://hijiriworld.com/web/cakephp-bake/
  ※CakePHP 2.3のバージョンの画面ではありませんので、見た目が少し違う部分もありますが。
 
 

Bakeをインストールする場所

 
しかし、私の場合は、最初の方の下記の記述の部分から「????」が頭に浮かび、進めなくなりました。
———————————
CakePHPのインストール
サンプルでは XAMPPのローカルサーバを使い、c:\xampp\htdocs\bake フォルダにCakePHPをインストールすることにします。
———————————
 
XAMPPに関しては、「PHPを勉強するための環境を構築するにはXAMPPが最適」で書いているように、XAMPP環境で構築をしていましたので、問題ありませんでした。
 
でも、ここでなぜ「c:\xampp\htdocs\bake」フォルダに CakePHPをインストールするのか、ということが理解できず、すでに CakePHPをインストールしている環境があるのに、なぜ?という疑問でした。
 
これについては、bakeの実験をする際に、これまで作ってきたプログラムなどに影響を与えないように、今回の実験用の bakeの環境を作りましょう。ということなのです。
(CakePHPは、作成するアプリケーションごとに CakePHPの環境を用意する運用を前提として作られており、何か新しいプログラムを作成する際は、その都度新しい CakePHPをインストールすることになります。その際、フォルダは作成するアプリケーションごとに分かりやすい名前を付けて設定します。ここでは、bakeの実験をしますので、bakeというフォルダに CakePHPを入れましょう、ということになります。)
 
そのため、XAMPPを使っている方の場合は、「c:\xampp\htdocs\cake」とか「c:\xampp\htdocs\cakephp」といったフォルダに CakePHPがインストールされていると思いますが、今回の実験用に「c:\xampp\htdocs\bake」フォルダを作成し、その中に「c:\xampp\htdocs\cake」と同じファイル一式を入れましょう、ということになります。
 
すでにこの部分を通り過ぎた方には当たり前すぎる話ではありますが、初めての私はこんなところにもつまずきポイントがありました!!
 
 

Bakeを起動させるパスの設定

 
また、「bakeを起動する」の箇所に書かれている PATH(パス)の登録(3番と 5番)ですが、ここで書かれているコマンドプロンプトでの登録は、一時的なパスの設定のため、コマンドプロンプトを一度閉じてしまうと、設定したパスは消えてしまします。
そのため、おおよそ、PHPのパスだけは恒常的に設定しておく方がいいと思いますので、下記のサイトを参考にしながら対応しておくことをお勧めします。(bakeのパスは作成するアプリケーションごとに変更することになりますので、恒常的なパスの設定をしてもあまりメリットは感じられないような気がします。)
 http://pocketstudio.jp/win/xp/path.html
 
PHPのパスを上記から設定した場合は、2番、3番が不要になります。
また、4番、5番のパスの設定を毎回するのは面倒ですので、その部分は、6番でディレクトリに移動した後、7番の「bakeの起動」ところで「console\cake bake」と入力すると同じ処理になります。
 
7番の「cake bake」は、「cake」というコマンドに「bake」という引数を付けてコマンドを実行させる記述なのですが、通常は、「cake」と書いただけでは「cake」というコマンドがどこにあるかが分からないため、5番で cakeのある場所を設定しています。
ですが、cakeというコマンドを実行する際に cakeコマンド(cakeコマンド用のプログラム)がある場所も一緒に記述することで事前にパスを設定しなくてもよくなります。
毎回パスの設定をするのも面倒ですので、こんな方法もあるという一例です。

 - CakePHP 3.x 4.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP4のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)
CakePHP4のメッセージ日本語化の設定(国際化と地域化の機能の使い方の解説)

CakePHP4の英語のメッセージを日本語化(多言語化)する手順を解説。オリジナルのメッセージを作成する方法やプログラムで文言を追加する場合の対応なども解説。

CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説

CakePHP3でOGPを設定する方法を解説。fetch、assignを使用しレイアウトファイルに編集した変数にテンプレートファイルから値を指定する。これを利用してOGPを編集する。

CakePHP 2.3 Search Pluginで検索処理 その5入力項目に複数項目入力した場合の AND検索、OR検索

CakePHPの検索プラグイン Search Pluginの検索処理の中で複数項目を入力した場合の AND検索、OR検索についての解説です。

CakePHP 2.3 ログイン、操作履歴、アクセスログ出力

CakePHPでログインや操作履歴などのアクセスログ出力処理を作成します。

CakePHP4のCakeDC/Usersの Usersへの接続、バリデーションのカスタマイズ方法解説
CakePHP4のCakeDC/Usersの Usersへの接続、バリデーションのカスタマイズ方法解説

CakeDC謹製Usersプラグインの紹介。CakePHP4で使う場合のUsersのカスタマイズとして入力項目のバリデーションの変更を、プラグインのファイルは触らずオーバーライドにより実装する方法を解説する。

CakePHP3で他のテーブルのマスタテーブルからセレクトボックス(プルダウンリスト)を作る
CakePHP3で他のテーブルのマスタテーブルからセレクトボックス(プルダウンリスト)を作る

他のテーブルのマスタのレコードからプルダウンリストを作成し、選択できるようにするサンプルプログラムと解説。ORMの設定によりデータベースの値を取得し、配列を作成し optionsに与える。

CakePHPで同一テーブル内の値を比較する条件でレコードを取得する方法
CakePHPで同一テーブル内の値を比較する条件でレコードを取得する方法

CakePHPの同一テーブルにある項目の値を比較し条件に合致するレコードを取得する方法を解説。[”項目名”=>”値”]ではなく[”項目名 = 項目名”]と書くところがポイント。

CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2
CakePHP3のUpload Plugin 3.0をバリデーションなど実運用向けのカスタマイズ方法解説・その2

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその2でバリデーションなどの実用的なカスタマイズ方法を解説。

CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。

CakePHP3でajaxを利用する処理の実装方法を解説。プルダウンを変更するとデータベースの値を取得し検索結果の内容を変更するというような処理を想定。CakePHP3.6以降の CSRF対策対応済。

CakePHP3ログファイルの出力方法・$this->log()の解説
CakePHP3ログファイルへの出力・$this->log()、独自ログへの出力方法の解説

コントロール、モデルの変数の中身を見るときはログに出力する方法が有効です。$this->log()を利用すると変数だけじゃなく、連想配列、オブジェクトも簡単にログ出力ができます。