*

cakephpでユーザ定義定数を読みだす方法

公開日: : 最終更新日:2014/03/06 WEBサービス, テクニック , , ,

スクリーンショット 2013-12-21 21.10.46

サイトを作るにあたって、定数を使いたいときがよくあります。
サイト上のある数値に変更があっても、定数を使っていれば、その値が記述されているファイルだけを更新すれば、サイト全体に値の変更が反映され、手間が減ります。

PHP:定数
http://php.net/manual/ja/language.constants.php

通常のPHPであれば「define」を使って定数を定義するのですが、CakePHPで定数を定義する際にはちょっとテクニックが必要です。

1.定義ファイルを作成する

/app/Config/ 内に「const.php」を作成します。
ここではconstにしてますが、ファイル名は何でもいいです。

定義ファイルには以下のように記述します。

<?php
//ユーザ定義定数
//呼び出し方:	echo FOOBAR;
define("FOOBAR","テスト");

//配列
//呼び出し方:	$fuga = Configure::read("fuga");
$config['fuga'] = array("a","b","c");

//連想配列
//呼び出し方:	$hoge = Configure::read("hoge");
$config['hoge'] = array(
  "A"=>"あ",
  "B"=>"い",
  "C"=>"う",
);

ここまでは簡単ですね。
通常の定数だけでなくて、配列や連想配列も使えます。
この使い方はとても便利なので、覚えておくといいと思います。

2.bootstrapで定義ファイルを読み込む

/app/Config/bootstrap.php に、次の記述を追加します。

Configure::load("const");

これで準備完了です。
このConfigureメソッドで定義ファイルをloadしてるんですね。

3.使ってみる

<?php
echo FOOBAR;  //テスト と表示される

$fuga = Configure::read("fuga");
echo $fuga[0];  //a と表示される

$hoge = Configure::read("hoge");
echo $hoge["A"];  //あ と表示される
//もしくは
echo $hoge["hoge.A"];

こんな感じです。簡単ですね。
ぜひ使ってみてください。

Google AD


Message

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

postgresqlのvacuumでビビった件

ある日突然、サービスが落ちていると連絡を受けました。 URLにアクセスしてみると、確かにサ

記事を読む

no image

WEBは入り口

スクール革命っていう、日曜の昼に放送してる番組見てたら、「近いうちに夢を録画できるようになる

記事を読む

img vertical-align

vertical-alignで画像とテキストの位置を垂直方向で揃える

これも自分のリマインダー用としてエントリー。 画像とテキストが同じ行に並んでいて、垂直

記事を読む

あらら?Googleのストレージサービスで、無料なのに有料プランが使えてる?!

  「ストレージサービス」をご存知でしょうか。「サーバーのディスクスペースを

記事を読む

no image

wordpress plugin change the taxonomy when you suggest the time

1. at first, download Post Expirator.2.change code

記事を読む

【wordpress:プラグイン】会員制サイトを作るのでBuddyPressをインストールしてみた

今ちょっと温めてるアイデアがあって、それを実現させるために会員制サイトを作ろうと思います。

記事を読む

cakephp2にACLプラグインを入れてみた

cakephpで、ユーザーによって権限やアクセスを変えたりする方法を調べてたら、それ用のプラ

記事を読む

PV5000/月達成したのでまたGoogleAnalyticsのデータを公開します

めちゃくちゃに力を入れていた訳でもなく、特にすごいコンテンツをエントリーした訳でもないのに、

記事を読む

lolipop(ロリポップ)でTinyTinyRSSを導入 その2

前回、ロリポップでTiny Tiny RSSを導入しましたが、今回は導入したシステムに、Go

記事を読む

SVNリポジトリのリプレース(とeclipseの設定)

  SVNリポジトリのリプレースを行ったのでエントリー。 1.リポジトリをdump svn

記事を読む

Google AD

Google AD

PAGE TOP ↑