*

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

関連記事

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

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

記事を読む

img vertical-align

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

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

記事を読む

cakephp

cakephpでPHPのタイムゾーン設定してないとエラーが出る件

ロリポップからさくらにサーバを変えたのは先日のエントリーの通りですが、サーバ環境が違うことでca

記事を読む

no image

「おっ」思ったWEBデザイン

ちょっと調べることがあったのでメモ。■株式会社テトラシーンhttp://www.tetratone.

記事を読む

【wordpress】buddypressでの子テーマの作リ方

先日BuddyPressのインストール方法をお伝えしましたが、インストールしたままテーマを変

記事を読む

no image

WEBディレクター、WEBエンジニア募集してます。

いっしょにWEB制作やりましょう! クライアント駐在(派遣) 場所:都営大江戸線

記事を読む

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

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

記事を読む

no image

img画像に隙間(空間)ができる件

何度か経験してそのたびにイラッときたので自分用にエントリー。 スタイルシートで下記のように記述

記事を読む

no image

eclipseのリソース名を変更する

ちょっとキョドったのでエントリー。 1. eclipse > エクスプローラー から名前を変更

記事を読む

no image

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

前々からやろうやろうと思っていて手を着けられていなかったサービス、アマゾンウェブサービス(AWS

記事を読む

Google AD

Google AD

PAGE TOP ↑