エス技研

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 5.x

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

Message

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

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

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

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

  関連記事

CakePHP3の検索プラグイン「friendsofcake/search」の設置方法・CakePHP3.6対応
CakePHP3の検索プラグイン「friendsofcake/search」の設置方法・CakePHP3.6対応

CakePHP3で検索を担うプラグイン「friendsofcake/search」の紹介。基本的な設置方法の紹介のほか、処理の記述方法のバリエーション、エラーの解説など。CakeDC/searchより導入は簡単!

CakePHP3でアソシエーション先のカラムでデータをソートして取得したい
CakePHP3でアソシエーション先のカラムでデータをソートして取得したい

アソシエーション先のテーブルのカラムをキーにソートをしたデータを取得したい!ときの記述方法を解説。「orderAsc()」ではなく「contain()」の中にSort条件を記述する。

CakePHP3でファイルのアップロード処理を自作・解説付き・その1
CakePHP3でファイルのアップロード処理を自作・解説付き・その1

CakePHP3でファイルをアップロードする処理を、php.netにある「エラーを起こさない」と説明がある処理を参考に作成。サンプルソースとその解説付きで、コピペでも動くし、カスタマイズも簡単!

CakePHP4でロギングスコープやログレベルを使用してログを出し分ける方法を解説
CakePHP4でロギングスコープやログレベルを使用してログを出し分ける方法を解説

CakePHPのログ出力方法の解説。app.phpにログ設定をし、スコープやレベルを指定してログ出力を振り分ける方法、CakePHP4で配列出力にはvar_exportが必要なことなどを解説。

CakePHPで Auto Incrementを外すと Duplicate entry '0' for keyのエラーが出るかも
CakePHPで Auto Incrementを外すと Duplicate entry ‘0’ for keyのエラーが出るかも

CakePHPでAuto Incrementの設定を変更したときに「Duplicate entry ‘0’ for key」のエラーが出た。原因はModel内で IDを編集する処理の追加を忘れていたからだった。

CakePHP3の更新画面でUpload Plugin 3.0を使う方法、viewで使う方法解説・その3
CakePHP3の更新画面でUpload Plugin 3.0を使う方法、viewで使う方法解説・その3

CakePHP3でファイル、画像をアップロードするプラグイン、upload plugin 3を導入する手順を解説した記事。3部作のその3で記事を更新する際のファイルの取り回しなどについてを解説。

CakePHP3で /Layout/defult.ctpにある titleタグ、h1タグを編集する方法
CakePHP3で /Layout/defult.ctpにある titleタグ、h1タグを編集する方法

CakePHP3でtitleタグ、h1タグのテキストをデフォルトから変更する方法を解説。テンプレートファイルに「$this->assign()」でテキストを指定して「/Layout/defult.ctp」で受け取る。

CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も

CakePHP3で Insert … On Duplicate Key Update構文(upsert)を実行する方法を解説。バルク処理の方法も用意されているため大量処理の場合も対応可能。

CakePHP3で値を入力直後にバリデーションする方法解説
CakePHP3で値を入力直後にバリデーションする方法解説

CakePHP3でバリデーションの実行を保存する時から入力情報を受け取るときに変更する処理の解説。CakePHP3ではnewEntity()の処理でバリデートするため1行追加で対応可能。

CakePHP3のデバッグキット(DebugKit)を強制的に有効、無効に変更する方法
CakePHP3のデバッグキット(DebugKit)を強制的に有効、無効に変更する方法

CakePHP3に付属しているデバッグのためのツール、デバッグキットを強制的に有効化、無効化する方法を解説。初期設定では開発環境としてありそうなドメインの場合のみ有効になるように設定されている。