CakePHP を使った皆さんの日常のほとんどの業務ではコアクラスやメソッドを用いることになるでしょうが、 ちょっとした役に立つ便利なグローバル関数も CakePHP にはたくさんあります。この関数のほとんどは CakePHP のクラスと一緒に使うためのもの(モデルやコンポーネントクラスのローディングなど)ですが、 他の多くは、配列や文字列の扱いを少し楽にしてくれるものです。
また、CakePHP のアプリケーションで利用可能な定数も同時におさえておきましょう。 これらの定数を用いることはよりスムースなアップグレードの助けになるだけでなく、 CakePHP アプリケーション内の特定のファイルやディレクトリーを指し示す便利なやり方でもあります。
以下、CakePHP の使用可能なグローバル関数です。その多くは、デバッグしたり内容を翻訳したりといった、 機能的に他の CakePHP の単なる便利なラッパーになっています。
__
(string $string_id[, $formatArgs])¶この関数は CakePHP のアプリケーションでのローカライズを担います。
$string_id
で翻訳時の ID を定めます。
その文字列内のプレースホルダーを置き換えるための、追加の引数を供給できます。
__('You have {0} unread messages', $number);
また、置換する名前インデックス配列を指定できます。
__('You have {unread} unread messages', ['unread' => $number]);
注釈
より詳しい情報は 国際化と地域化 のセクションを確認して下さい。
__d
(string $domain, string $msg, mixed $args = null)¶メッセージを一つ取得するために、現在のドメインを変更することが可能です。
プラグインを国際化するときに便利です:
echo __d('PluginName', 'This is my plugin');
__dn
(string $domain, string $singular, string $plural, integer $count, mixed $args = null)¶複数形のメッセージを一つ取得するために、現在のドメインを変更することが可能です。
$domain
でドメインを指定し、 $count
の数を数え、 $singular
と
$plural
に基いて複数形を正しく処理したメッセージを返します。
__dx
(string $domain, string $context, string $msg, mixed $args = null)¶メッセージを一つ取得するために、現在のドメインを変更することが可能です。 また、あなたがコンテキストを指定することができます。
コンテキストは、同じドメイン内で、 それがユニークな翻訳文字列の一意の識別子です。
__dxn
(string $domain, string $context, string $singular, string $plural, integer $count, mixed $args = null)¶複数形のメッセージを一つ取得するために、現在のドメインを変更することが可能です。
また、あなたがコンテキストを指定することができます。
$domain
でドメインを指定し、 $count
の数を数え、 $singular
と
$plural
に基いて複数形を正しく処理したメッセージを返します。
幾つかの言語が、数に応じた複数形の形式を一つ以上持っています。
コンテキストは、同じドメイン内で、それがユニークな翻訳文字列の一意の識別子です。
__n
(string $singular, string $plural, integer $count, mixed $args = null)¶$count
の数を数え、 $singular
と $plural
に基いて複数形を正しく処理した
メッセージを返します。幾つかの言語が、数に応じた複数形の形式を一つ以上持っています。
__x
(string $context, string $msg, mixed $args = null)¶コンテキストは、同じドメイン内で、それがユニークな翻訳文字列の一意の識別子です。
__xn
(string $context, string $singular, string $plural, integer $count, mixed $args = null)¶$count
の数を数え、 $singular
と $plural
に基いて複数形を正しく処理したメッセージを返します。
また、あなたがコンテキストを指定することができます。
幾つかの言語が、数に応じた複数形の形式を一つ以上持っています。
コンテキストは、同じドメイン内で、それがユニークな翻訳文字列の一意の識別子です。
collection
(mixed $items)¶渡された引数をラップする、新しい Cake\Collection\Collection
オブジェクトをインスタンス化するための簡易ラッパー。 $items
パラメーターは
Traversable
オブジェクトまたは配列のいずれかを取ります。
debug
(mixed $var, boolean $showHtml = null, $showFrom = true)¶バージョン 3.3.0 で変更: このメソッドを呼ぶと、渡された $var
を返します。例えば、return 文に
このメソッドを置くことができます。
コア $debug
変数が true
であれば、 $var
が出力されます。
$showHTML
が true
あるいは null
のままであればデータはブラウザー表示に
相応しいように描画されます。 $showFrom
が false
にセットされない場合、
それがコールされた行の情報を伴ってデバッグ情報の出力が始まります。
デバッグ もご覧ください。
dd
(mixed $var, boolean $showHtml = null)¶debug()
のように動作しますが、実行を終了します。
コア $debug
変数が true
であれば、 $var
が出力されます。
$showHTML
が true
あるいは null
のままであればデータはブラウザー表示に
相応しいように描画されます。 デバッグ もご覧ください
pr
(mixed $var)¶バージョン 3.3.0 で変更: このメソッドを呼ぶと、渡された $var
を返します。例えば、return 文に
このメソッドを置くことができます。
出力を <pre>
タグで周りを囲む機能を追加した print_r()
の便利なラッパー。
pj
(mixed $var)¶バージョン 3.3.0 で変更: このメソッドを呼ぶと、渡された $var
を返します。例えば、return 文に
このメソッドを置くことができます。
出力を <pre>
タグで周りを囲む機能を追加した JSON 整形表示の便利な関数。
それは、オブジェクトと配列のJSON 表現をデバッグために意図されています。
env
(string $key, string $default = null)¶バージョン 3.1.1 で追加: $default
パラメーターが追加されました。
可能な限りの環境変数を取得します。仮に $_SERVER
か $_ENV
が使用不可の場合には
バックアップとして用いられます。
この関数はまた、 PHP_SELF
と DOCUMENT_ROOT
を、非サポートのサーバー上で
エミュレートします。これは完全なエミュレーションラッパーなので、 $_SERVER
や
getenv()
の代わりに env()
を常に用いることは、
(とりわけあなたがコードを配布する予定なら)とても良い考えです。
h
(string $text, boolean $double = true, string $charset = null)¶htmlspecialchars()
の便利なラッパー。
pluginSplit
(string $name, boolean $dotAppend = false, string $plugin = null)¶ドット記法されたプラグイン名をプラグインとクラス名に分離します。
$name
にドットが含まれない場合、インデクスが 0 の箇所は null
になります。
一般に list($plugin, $name) = pluginSplit('Users.User');
のように使われます。
namespaceSplit
(string $class)¶ネームスペースをクラス名から分離します。
一般に list($namespace, $className) = namespaceSplit('Cake\Core\App');
のように使われます。
以下のほとんどの定数はあなたのアプリケーション内部のパスへの参照です。
APP
¶アプリケーションディレクトリーへの絶対パス。末尾にスラッシュが付きます。
APP_DIR
¶あなたのアプリケーションのディレクトリー名。app
かも知れません。
CACHE
¶キャッシュファイルディレクトリーへのパス。 複数サーバーをセットアップした際のホスト間で共有できます。
CAKE
¶cake ディレクトリーへのパス。
CAKE_CORE_INCLUDE_PATH
¶ルートの lib ディレクトリーへのパス。
CONFIG
¶config ディレクトリーへのパス。
CORE_PATH
¶ルートディレクトリーへの、末尾にディレクトリースラッシュを付加したパス。
DS
¶PHP の DIRECTORY_SEPARATOR
(Linux の場合は /
Windows の場合は \
)
のショートカット。
LOGS
¶ログディレクトリーへのパス。
ROOT
¶ルートディレクトリーへのパス。
TESTS
¶テストディレクトリーへのパス。
TMP
¶一時ファイルディレクトリーへのパス。
WWW_ROOT
¶ウェブルートへのフルパス。