CakePHPを使った皆さんの日常のほとんどの業務ではコアクラスやメソッドを用いることになるでしょうが、ちょっとした役に立つ便利なグローバル関数もCakePHPにはたくさんあります。 この関数のほとんどはCakePHPのクラスと一緒に使うためのもの(モデルやコンポーネントクラスのローディングなど)ですが、他の多くは、配列や文字列の扱いを少し楽にしてくれるものです。
また、CakePHP のアプリケーションで利用可能な定数も同時におさえておきましょう。 これらの定数を用いることはよりスムースなアップグレードの助けになるだけでなく、CakePHPアプリケーション内の特定のファイルやディレクトリを指し示す便利なやり方でもあります。
以下、CakePHPの使用可能なグローバル関数です。 その多くは、デバッグしたり内容を翻訳したりといった、機能的に他の CakePHP の単なる便利なラッパーになっています。
この関数は CakePHP のアプリケーションでのローカライズを担います。 $string_id で翻訳時のIDを定めます。 翻訳のために指定される文字列は、sprintf() 関数でのフォーマット文字列としてあつかわれます。 その文字列内のプレースホルダーを置き換えるための、追加の引数を供給できます:
__('You have %s unread messages', $number);
ノート
より詳しい情報は /core-libraries/internationalization-and-localization のセクションを確認して下さい。
カテゴリは定義済みの名前をそのまま使うのではなく、数値で指定されなければなりません。それらの値は以下の通り:
メッセージを一つ取得するために、現在のドメインを変更することが可能です。
プラグインを国際化するときに便利です: echo __d('PluginName', 'This is my plugin');
メッセージを一つ取得するために、現在のドメインを変更することが可能です。 同時に、カテゴリを指定することも出来ます。
カテゴリは定義済みの名前をそのまま使うのではなく、数値で指定されなければなりません。 それらの値は以下の通り:
複数形のメッセージを一つ取得するために、現在のドメインを変更することが可能です。 同時に、カテゴリを指定することも出来ます。 $domain でドメインを指定し、$count の数を数え、 $singular と $plural に基いて複数形を正しく処理したメッセージを返します。
カテゴリは定義済みの名前をそのまま使うのではなく、数値で指定されなければなりません。 それらの値は以下の通り:
複数形のメッセージを一つ取得するために、現在のドメインを変更することが可能です。 $domain でドメインを指定し、$count の数を数え、 $singular と $plural に基いて複数形を正しく処理したメッセージを返します。
$count の数を数え、 $singular と $plural に基いて複数形を正しく処理したメッセージを返します。 幾つかの言語が、数に応じた複数形の形式を一つ以上持っています。
パラメータとして渡されてすべての配列をマージして、その結果の配列を返します。
アプリケーション内の config フォルダから include_once 経由でファイルをロードするために使用することが出来ます。 この関数はインクルードする前にファイルの存在チェックを行い、ブール値を返します。 任意の数の引数を取ります。
例: config('some_file', 'myconfig');
文字列のスラッシュをアンダースコアに変換し、最初と最後のアンダースコアを削除します。 変換した文字列を返します。
アプリケーションの DEBUG レベルがゼロ以外の場合に $var が出力されます。 $showHTML が true あるいは null のままであればデータはブラウザ表示に相応しいように描画されます。 $showFrom が false にセットされない場合、それがコールされた行の情報を伴ってデバグ情報の出力が始まります。 デバッグ も参照して下さい
可能な限りの環境変数を取得します。仮に $_SERVER か $_ENV が使用不可の場合にはバックアップとして用いられます。
この関数はまた、PHP_SELF と DOCUMENT_ROOT を、非サポートのサーバー上でエミュレートします。 これは完全なエミュレーションラッパーなので、$_SERVER や getenv() の代わりに env() を常に用いることは、 (とりわけあなたがコードを配布する予定なら)とても良い考えです。
渡されたファイルが、現在の PHP include_path の中にあるかどうかをチェックします。 ブール値の結果を返します。
htmlspecialchars() の便利なラッパー。
Log::write() へのショートカット。
ドット記法されたプラグイン名をプラグインとクラス名に分離します。 $name にドットが含まれない場合、インデクスが 0 の箇所は null になります。
一般にこんな具合に使われます list($plugin, $name) = pluginSplit('Users.User');
出力を <pre> タグでラップする機能を追加した print_r() の便利なラッパー。
与えられた $array を $sortby キーによってソートします。
与えられた $value から、再帰的にスラッシュを取り除きます。 変換された配列を返します。
以下のほとんどの定数はあなたのアプリケーション内部のパスへの参照です。
アプリケーションディレクトリへのパス。
あなたのアプリケーションのディレクトリ名。app かも知れません。
アプリケーションの Lib ディレクトリへのパス。
キャッシュファイルディレクトリへのパス。 複数サーバーをセットアップした際のホスト間で共有できます。
cake ディレクトリへのパス。
ルートの lib ディレクトリへのパス。
ルートディレクトリへの、末尾にディレクトリスラッシュを付加したパス。
public CSS ディレクトリへのパス。
CSS ファイル・ディレクトリへの Webパス。
バージョン 2.4 で撤廃: 代わりに設定値の App.cssBaseUrl を使用して下さい。
PHP の DIRECTORY_SEPARATOR (Linux の場合は / windows の場合は \) のショートカット。
https://example.com のような完全なURLプリフィクス。
バージョン 2.4 で撤廃: この定数は廃止されたので、代わりに Router::fullbaseUrl() を使用する必要があります。
画像の公開ディレクトリへのパス。
画像の公開ディレクトリへのWebパス。
バージョン 2.4 で撤廃: 代わりに設定値の App.imageBaseUrl を使用して下さい。
JavaScript の公開ディレクトリへのパス。
JavaScript の公開ディレクトリへのWebパス。
バージョン 2.4 で撤廃: 代わりに設定値の App.jsBaseUrl を使用して下さい。
ログディレクトリへのパス。
ルートディレクトリへのパス。
テストディレクトリへのパス。
一時ファイルディレクトリへのパス。
ベンダーディレクトリへのパス。
あなたのウェブルートディレクトリの名前。webroot かも知れません。
ウェブルートへのフルパス。