エス技研

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


CakePHP4 のコマンドプログラムからコンポーネントを読み込む方法解説

      2024/06/21

CakePHP4 のコマンドプログラムからコンポーネントを読み込む

 
今回は「CakePHP4でコマンドプログラムを作成する」の全 4回のうちの 2回目で、「コマンドプログラムからコンポーネントを呼び出す方法」について解説します。
 

 
 

共通関数のコンポーネントについて

 
プログラムを作成する中で、他の「コントローラー(Controller)」でも使用する共通処理は、「コンポーネント(Component)」として別ファイルにまとめて管理をします。
(「モデル(Model)」の場合は「ビヘイビア(Behavior)」で、「ビュー(View)」の場合は「ヘルパー(Helper)」ですね。)
 
コマンドプログラムからは、「コントローラー(Controller)」用に作成されたものも含めて、「コンポーネント(Component)」の処理を呼び出して利用することができるようになっています。
 
 
今回の記事では、そのコンポーネントを呼び出して、コマンド内で利用する方法について解説します。
 
 

コマンドから共通関数のコンポーネントを読み込む処理

 
コンポーネントを読み込む処理を追記したコマンドプログラムが下記となります。
 

 
 

利用するコンポーネントを use句で指定

 
まず初めに、「use句」を記述する箇所に 11~12行目の 2行を追記します。
11行目は固定の文字列ですが、12行目は使用するコンポーネントの名称に書き換えてください。
上記では「CommonComponent.php」と言うコンポーネントを呼び出す想定の記述になっています。
 
 

コンポーネントをオブジェクトとして取得

 
続けて、コンポーネントをオブジェクトとして取得する「39行目」か「57行目」のいずれかを記述します。
 
コンポーネントだけを呼び出すのであれば 57行目の記述方法の方が簡単かと思います。
 
ただ、個人的には「initialize()」に、そのコマンド(コントローラー)内で使用するコンポーネントだけではなく、モデルの読み込みもまとめて記述する方法が好きですので、34~40行目の「initialize()」に記述する方法をオススメしたいですね。
 
 

 
 

コンポーネントを作成

 
コンポーネントは下記コマンドでコンポーネントのテンプレートファイルを生成することができます。
 

 
 
これに対して、先のコマンドから利用する「getSample()」関数を追記すると下記のようになります。
 

 
 

コマンドプログラムからコンポーネントを読み込む方法のまとめ

 
基本的に、コントローラーからとコマンドからと、コンポーネントを読み込む方法はあまり違いはありません。
ただ、少し記述の仕方が違うことと、use句で使用するコンポーネントを指定する点が違うなどしていますので、少し確認が必要かと思います。
 
 

CakePHP4の関連記事

CakePHP4のFrozenDateで1ヵ月前、先月、今月1日、来月末の日付などを算出する方法
CakePHP4のcake cache clear_allでPermission deniedはパーミッションの変更が必要
CakePHP4のクリエビルダーを使用してOR条件をAND条件でつなぐSQL文を作る方法
CakePHP4のController内でViewテンプレート、レイアウトの変更設定を記述する方法
CakePHP4から外部のデータベースにアクセスする方法解説
CakePHP4の数値項目は「like %10%」の部分一致検索(find select)はできない
CakePHP4でロギングスコープやログレベルを使用してログを出し分ける方法を解説
CakePHP2、CakePHP3、CakePHP4、CakePHP5のバージョンを調べる 2つの方法
Windows上のXAMPP環境のCakePHPのコマンド実行時に環境変数を指定する方法
CakePHP4で複数の引数(パラメータ)を付与してコマンドを実行する方法
 
その他の「CakePHP4」に関する記事一覧
 
 

 - CakePHP 3.x 4.x

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

CakePHP3でcomposerを利用してライブラリ・プラグインをインストールする方法

CakePHP3でcomposerを使ってパッケージ(ライブラリ、プラグイン)をインストールする方法の解説。PHPを使うのはCakePHP3が初めてというような方への使い方から解説。

CakePHP 2.x系 Viewでのコメントの記述方法など

CakePHPにおいて View、ctpファイルでコメントを記述する方法を解説。

CakePHP3のForm Helperの使い方のまとめ

CakePHP3になりフォームヘルパーの使い方も大きく変わりましたので、使い方をまとめました。基本的な使い方からプラスアルファの便利な使い方まで紹介。

CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説
CakePHP3のCakeDC/Usersのバリデーションのカスタマイズ方法解説

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

CakePHP3でComposerでインストールできないプラグイン、外部ライブラリを vendorに入れて手動で読み込む方法
CakePHP3でComposerでインストールできないプラグイン、外部ライブラリを vendorに入れて手動で読み込む方法

CakePHP3にComposerからインストールできないプラグインやライブラリなどを利用する方法、vendorにファイルを設置し、composer.jsonを更新し、それを呼び出す方法を詳細に解説。

CakePHP 2.3 Search Pluginで検索処理 その3入力エリア一つで複数の項目を同時に検索する方法

CakePHPの検索プラグイン Search Pluginの検索処理の中で入力エリア一つで複数の項目を同時に検索する方法を解説。

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

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

CakePHP3でWarning Error: SplFileInfo::openFile()エラーが発生した場合の対処方法
CakePHP3でWarning Error: SplFileInfo::openFile()エラーが発生した場合の対処方法

CakePHP3のキャッシュファイルのパーミッションエラー Error: SplFileInfo::openFile()が発生した場合の対応方法解説。app.phpにキャッシュファイルのパーミッション設定を行い、既存のファイルは削除。

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

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

CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法
CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法

CakePHP3で現在処理しているコントローラー名、アクション名を取得する方法を解説。複数の方法があるが、getParam()メソッドを使う方法が汎用性があって便利かも。