CakePHPクッキング

CakePHPの初期設定

開発環境:CakePHP2.5.1

CakePHPの開発を始めるにあたり、まず準備しなければいけない設定がいくつかあります。
それでは順番に見ていきましょう。

CakePHPを設置する

CakePHPはGithub上に最新ファイルがありますが、cakephp.jp 上では「Download」とわかりやすく表示されていますので、そちらを利用すると簡単です。

ダウンロードしたファイルを解凍し、サーバー上に設置します。

Security.saltとSecurity.cipherSeedを変更する

CakePHPのファイルをサーバーにアップした時に最初に表示されるエラーが2つあります。

Please change the value of 'Security.salt' in 〜
Please change the value of 'Security.cipherSeed' in 〜

この2つの設定は共に APP/Config/core.php 内にあり、Security.salt はランダムな文字列、Security.cipherSeed はランダムな数字で指定する必要があります。
ランダムと言っても難しいので、自動で生成するなら次のようなコードで作ることができます。

$salt = "";
for ($i = 0; $i < 40; $i++) {
    $salt .= substr('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', mt_rand(0, 61), 1);
} 
echo $salt;
$seed = "";
for ($i = 0; $i < 29; $i++) {
    $seed .= substr('0123456789', mt_rand(0, 9), 1);
} 
echo $seed;

DB接続設定を行う

次にデータベースの接続設定を行います。
データベース接続の設定ファイルは下記の注意が示している通り、デフォルトでは database.php.default というファイル名になっているので、database.php にリネームします。

Your database configuration file is NOT present.
Rename APP/Config/database.php.default to APP/Config/database.php

リネームすると、先ほどの注意が無くなり、下記のメッセージが表示されます。

Your database configuration file is present.

この状態では、リネームしただけで、設定が行われておりませんので、下記の注意が表示されます。

CakePHP is NOT able to connect to the database.

Database connection "Mysql" is missing, or could not be created.

設定ファイルは下記のような内容になっています。

public $default = array(
	'datasource' => 'Database/Mysql',
	'persistent' => false,
	'host' => 'localhost',
	'login' => 'user',
	'password' => 'password',
	'database' => 'database_name',
	'prefix' => '',
	//'encoding' => 'utf8',
);

datasource は、利用するデータベースの種類を指定します。
選択肢は4つで、MySQLなら’Database/Mysql’、PostgreSQLなら’Database/Postgres’、SQLiteなら’Database/Sqlite’、SQL Serverなら’Database/Sqlserver’を指定します。

persistent は持続的接続をするかどうかで、true か false を指定します。

host はホスト名、login はログインユーザー名、password はパスワード、database はデータベース名、prefix は接頭辞、encoding は文字コードを指定します。

設定が正しく行われると、データベースに接続できたメッセージが表示されます。

CakePHP is able to connect to the database.

開発しやすくするDebugKitの導入

上記までの設定でひとまず初期設定は終わりなのですが、もう一つ下記の注意が表示されています。

DebugKit is not installed. It will help you inspect and debug different aspects of your application.
You can install it from GitHub

これは DebugKit というものがインストールされていないよって教えてくれています。
DebugKit というのは、デバッグに役立つ情報を表示してくれる便利なプラグインです。

CakePHPで開発するために必ず入れなければいけないものではないので、無視しても構いませんが、興味があればこちらの導入方法を見ながら試してみましょう。

スタートCakePHPクッキング!

以上でCakePHPの初期設定は終了です。どんどんCakePHPを使っていきましょう。

WordPressとCakePHPの共存

サイトを作るのに便利なWordPress。プラグインも数多く用意されて

サイトマップの作成方法

Googleのウェブマスターツールに渡すためのサイトマップの作成方法で

INSERTしたIDを取得する

データを保存した後にINSERTされたデータのIDを使って何かの処理を

ファイルの存在確認やフォルダー内のファイル一覧取得

特定のファイルの存在を確認したい場合や特定のフォルダー内にあるファイル

リンクの最後に常にスラッシュをつける方法

URLの最後に常にスラッシュをつけるかつけないかを統一する方法は、UR

countやsumを使う時のフィールド名を指定する

CakePHPでcountやsumなどを使う場合、ちょっとした工夫が必

Formの便利な使い方

問い合わせフォームや会員機能など、WEBサイトを作る際に必ず必要になる

ヘルパーをオーバーライドする

CakePHPで便利な機能が詰まったヘルパーですが、時々もう少しこうだ

特定の時だけSQLの条件を追加するならSet::mergeを使う

SQLの条件を追加したい時に使うのがarray_mergeなどですが、

ページネーションではDISTINCTではなく、GROUP BYを使う

重複したデータを省く時に使うDISTINCTですが、ページ送りで使う時

Model内で別のModelを呼び出す

モデル内で別のモデルを使いたいケースがあった場合、次のようにすることで

CakePHPでGoogleAnalyticsAPIを使う

CakePHPでGoogleAnalyticsを使う方法について見てい

独自のfindを定義するfindMethods

findをより便利に、よりスッキリ書くのに、findMethodsを使

TCPDFを使ってCakePHPでPDFを作成

CakePHPでPDFを作成するには幾つかの方法がありますが、今回はT

JavaScriptをコードの最下部に配置

SEOの観点からJavaScriptのコードは一番下に記述したいところ

無限スクロールをさせる

TwitterやFacebookのタイムラインを見ていて、ページの下に

PHPExcelの導入

ExcelにDBのデータを表示して一覧を作ったり、請求書などのフォーマ

Warning: SplFileInfo::openFile〜の警告が表示されたら

ShellとWEBの両方で同一のModelを呼び出す時に「Warnin

連結されていないデータを抽出

通常、テーブルを連結してデータを取得するには、アソシエーションを利用し

データを取得する

データを取得したい時に少し変わった条件で取得したい場合があります。

PAGE TOP ↑