エス技研

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

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

CakePHP3でページごとに読み込むJavaScript、CSSを変える処理の解説
CakePHP3でページごとに読み込むJavaScript、CSSを変える処理の解説

CakePHP3でJavaScriptやCSSを編集する基本形から、それらやテンプレート(エレメント)を特定のテンプレートを読み込んだときのみ編集、実行するための方法、ブロック化について解説。

CakePHP 2.3 Search Pluginで検索処理 その1設置方法

CakePHPの検索プラグイン Search Pluginの設置方法と基本的な検索処理の解説です。

CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント
CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント

CakePHP3の開発で発生する「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」のエラーには特有の原因もあるため、その説明と対処方法の解説。

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

ファイルのアップロード機能の自作サンプルコードとその解説のその2。アップロード機能に関連するファイルの更新や削除の処理や画像、フォルダのパスの指定方法などを含めて解説。

VirtualBoxにCakePHP3を設置。必要なCentOS、Apache、PHP、MySQL、Composerをインストールし設定する。
VirtualBoxにCakePHP3を設置。必要なCentOS、Apache、PHP、MySQL、Composerをインストールし設定する

VirtualBoxにCentOS、Apache、MySQL、PHPをインストールするところから初めてCakePHP3の開発環境を構築する手順を詳細解説。この記事1つで全ての設定が完了する。

CakePHP3のCakeDC/UsersのUserHelperでログアウトやreCAPTCHAをカスタマイズ
CakePHP3のCakeDC/UsersのUserHelperでログアウトやreCAPTCHAをカスタマイズ

CakeDC謹製Usersプラグインの紹介。UserHelperを利用し、ログアウトのリンクや権限があるときのみ表示されるリンク、プロフィールページへのリンク、reCAPTCHAの設置方法などを解説。

CakePHP4系でJSONレスポンスの処理ではwithStringBodyを使う。3との違い解説
CakePHP4系でJSONレスポンスの処理ではwithStringBodyを使う。3との違い解説

responseの値を指定する方法は3系では「body」だが、4系では「withStringBody」になりる。加えてJSON形式なら「withType」で指定するなど4系では結構異なる処理がある。

CakePHP4の数値項目は「like %10%」の部分一致検索(find select)はできない
CakePHP4の数値項目は「like %10%」の部分一致検索(find select)はできない

CakePHP4でテーブルの数値項目に対してlike句を使用した部分一致検索を実行するとエラーが発生する。クリエービルダーの不具合だと思われ対処方法が分からない。

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

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

getParam('action')で取得するアクション名は別関数に移動しても不変
getParam('action')で取得するアクション名は別関数に移動しても不変

CakePHP4系、5系では「getParam()」で処理中のアクション名を取得できる。そのアクションから別関数を呼び出してた関数でアクション名を調べたが同一の名称だった。