*

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

関連記事

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

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

記事を読む

no image

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

Google reader終了のお知らせは、以前ほど使わなくなったサービスとは言え、かなり自

記事を読む

no image

WordPressをインストールしたら最初にやってることまとめ

仕事でWordpress使ってるけど、とりあえずすごく役に立ちました。ありがとうございます。個人的に

記事を読む

no image

JQueryのsliderでpagination機能を作ってみた

複数ページが存在するWEBサイトによく使われている機能として「ページネーション」があります。

記事を読む

CakePHP1.3でブラウザを閉じてもセッションが切れないようにする方法

ちょっと体調を崩してしまってましたが、なんとか回復してきました。(辛かった・・・) 本当に

記事を読む

no image

PHPのpear インストールにて

今さらながらPEARを触ることに。以前に少しだけ触ったことがあって、「ダウンロードするだけでしょ?超

記事を読む

【体験談】6年間禁煙を続けられた自分の、禁煙の始め方

4月1日から消費税が8%になり、日用品への影響が少しずつ出てきているころです。 自分はお酒

記事を読む

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

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

記事を読む

嫌われている人から好かれようと思わなくていいんだという件

自分用にちょっとしたライフハックに気づいたので、リマインダーとしてエントリー。 それは「嫌

記事を読む

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

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

記事を読む

Google AD

Google AD

PAGE TOP ↑