14時の間食

CakePHPの記事を中心にWeb制作について

その定数は作らなくて大丈夫!覚えておきたいCakePHPのデフォルト定数

CakePHP

    CakePHPで使う定数はapp/bootstrap.phpに定義しておくと、どこからでもアクセスできて便利ですね!
    しかしちょっと待ってください。その定数はもしかしたら最初から用意されているかもしれません。

    という訳でCakePHPに予め定義されている定数の中から普段よく使うものをピックアップしてみました。

    1, 期間を表す秒数

    例えば1日を表す秒数として、わかりやすく 60 * 60 * 24 と表記することがありますが、CakePHPの中では次の定数を使ってしまえばもっと直感的です。

    echo MINUTE;        // 出力値)60
    echo HOUR;          // 出力値)3600
    echo DAY;           // 出力値)86400
    echo WEEK;          // 出力値)604800
    echo MONTH;         // 出力値)2592000
    echo YEAR;          // 出力値)31536000
    

    2, 公開ディレクトリのURL・パス

    ルートからの絶対パスで取得する場合

    こちらも非常に直感的に用意されているかと思います。ただしimgディレクトリは「IMG」ではないので注意。
    もっともHTMLヘルパーを使っていればこれらのディレクトリは明示せずに到達できるので使う頻度はやや微妙…。

    echo WWW_ROOT;          // 出力例)/app/webroot/
    echo CSS;               // 出力例)/app/webroot/css
    echo IMAGES;            // 出力例)/app/webroot/img
    echo JS;                // 出力例)/app/webroot/js
    

    URLで取得したい場合

    上の定数に"_URL"を付けるだけでOKです。

    echo CSS_URL;           //出力例)css/
    echo IMAGES_URL;        //出力例)img/
    echo JS_URL;            //出力例)js/
    

    3, ベースURL

    サイトルートを指し示すURLです。
    これって結構作ってしまいがちな定数No,1じゃないでしょうか。

    echo FULL_BASE_URL;     // 出力例)http://14-00.com
    

    番外。

    自分自身のURL

    定数ではありませんが、今見ているページのURLを取得したい時に使います。

    第1引数はルーティングの配列を指定できますが、指定しないことでリクエストされたURLを出力します。
    第2引数はtrueならhttp://ドメイン名/~から出力します。

    echo $this->Html->url(null, true);  // 出力例)http://14-00.com/archives/23
    echo $this->Html->url(null, false); // 出力例)/archives/23
    

    コントローラー名とアクション名

    コントローラー名は$this->name, アクション名は$this->actionで取得します。

    echo $this->name;       // 出力例)Posts
    echo $this->action;     // 出力例)edit
    

    カテゴリー

    最近の記事

    Author

    • ささきち-このブログを書いてる人
      s3make@ささきち
      多摩川沿いに住むフリーのWebデザイナーです。近所のイオンによく行きます。