*

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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

postgresqlデータベースにインデックスを作成する方法

ビットコインが取引停止になったり、LINEがスタンプを自由に作れるようにしたり、何かとにぎや

記事を読む

さくらインターネットでPEARを使ってみる

以前、自分が持っている書籍を管理するアプリ「ブックマネージャー」を作ってアップしてたのですが

記事を読む

no image

ホームページ(笑)を作ればモノが売れるという幻想(笑)

まだこんな考えもってる人がいたのかwww もう「ほーむぺーじ」って言うのもやめて欲

記事を読む

WordPressのテーマを「stinger」に変えたよ

しばらくぶりにブログ(Wordpress)のテーマを変更しました。 以前はオールホワイトで

記事を読む

CakePHPでFacebook-PHP-SDKを使ってFacebookログインするアプリの作り方

こんにちは! 昨日は東京では45年ぶりに大雪が降りましたね! 自分の家の方でも雪が2

記事を読む

アマゾンのクラウド(AWS)を使ってみる その2

前回、アマゾンのクラウド(AWS)を使ってみる で何も無い所からEC2を立ち上げましたが、そのあ

記事を読む

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

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

記事を読む

【解説】Googleウェブマスターツールの使い方

サイトの分析やアクセス解析のツールと言えばGoogleAnalyticsですよね。 このブ

記事を読む

xamppでSSLの設定をする

以前、xamppでvirtual host の設定をしましたが、xamppを使ってて「あれ、SS

記事を読む

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

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

記事を読む

Google AD

Google AD

PAGE TOP ↑