PHPフレームワーク CakePHPのダウンロード、インストール設定

CakePHPとは

概要

CakePHPは高速にアプリケーションを開発するためのPHPフレームワークです。
Ruby on Railsの概念を取り入れているため、Railsに似ています。

PHPではほかにも、ZendFramework、Symfony、Fuel、Yii、またPhalconなどの様々なフレームワークがありますが、今のところ私はこのCakePHPが一番しっくりきています。

フレームワークの必要性

フレームワークを使うことで様々なメリットがあります。

1から開発する手間が省ける
他人が見てもコードが理解しやすい
過去のノウハウを継承できる

などなど良いことがいっぱいです。
しかし、必ずしも必要ではないのです。
反対に、使用しないことで拡張性が向上するなど、使用しない方が良い場合もあります。

フレームワークを導入することで要件が満たせなくなる場合もあったりします。
開発する内容によって随時判断を行いましょう。

設定手順

ダウンロード

下記公式サイトよりダウンロードします。
http://cakephp.org/
cake公式サイト

こちらは日本語サイトとなります。
http://cakephp.jp/
cake日本語サイト

インストール

ダウンロードしたファイルを解凍し、中身を一式Apacheのルートディレクトリ内に置きます。
ディレクトリ

タイムゾーンが設定されていない場合は設定を行います。
.htaccess に以下を追加してください。


php_value date.timezone "Asia/Tokyo"

パーミッションを変更。
app/tmp を書込み可能にします。


chmod -R a+w app/tmp

core.phpの変更。
app/Config/core.phpについて、下記二つの右側の値を任意の文字列に変更してください。


Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
Configure::write('Security.cipherSeed', '76859309657453542496749683645');

そしてブラウザからルートディレクトリにアクセスします。
下記のように表示されればOKです。
cakeトップ
赤枠でメッセージが表示される場合は、内容に従って設定してください、

DBの使用

app/Config/database.php.default を database.php という名前でコピーします。


cp -p database.php.default database.php

database.php の以下の箇所を設定します。


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

基本的には、host、login、password、database辺り設定すれば良いでしょう。
これでCakePHPからDBにアクセスできるようになります。

モジュールをルートディレクトリの外に置く方法

/home/user/test/public がルートディレクトリと仮定して説明します。
まずは、/home/user/test/内に以下のディレクトリを作成します。

public
cake

public 内に、app/webroot/の中身を移動します。
cake 内に、その他のCakePHPのディレクトリの中身を全て移動します。

以下のファイルは削除して問題ありません。
- cake/app/webroot
- cake/index.php
- cake/.htaccess
- cake/app/index.php
- cake/app/.htaccess

public/index.php の2か所を以下のように変更します。


if (!defined('ROOT')) {
	//define('ROOT', dirname(dirname(dirname(__FILE__))));
	define('ROOT', dirname(dirname(__FILE__)) . DS . 'cake');
}

/**
 * The actual directory name for the "app".
 *
 */
if (!defined('APP_DIR')) {
	//define('APP_DIR', basename(dirname(dirname(__FILE__))));
	define('APP_DIR', 'app');
}

これで、ルートディレクトリの外にCakePHPモジュールを移動できました。

  • このエントリーをはてなブックマークに追加
Related

FullCalendarでGoogleカレンダーのようなUIを実装

jQueryプラグインFullCalendarのサンプル 概要 FullCalendarを使用して、GoogleカレンダーのようなUIを実装する使用例を...

PHP Laravel5.2でmulti-auth(複数テーブルでの認証)を実装

Laravel5.2でマルチ認証 概要 LaravelとはPHPの中で今最も伸びているフレームワークです。 処理速度が遅いなどありますが、かなり使い安く拡...

PHP 正規表現でIPアドレス形式の文字列か判定

正規表現でIPアドレスの入力チェック 概要 フォームで入力されたIPアドレスが正当な文字列か判定するためのバリデーション処理を実装します。 基本的...

rbenv環境でRuby on Railsのアプリケーションを一瞬で自動生成

アプリケーション構築時に最初に行う手順 概要 アプリケーションを作成するまでの手順を記載しています。 rbenvなどの環境が設定済と仮定して話を進めま...

Rails devise・authority・rolifyで権限付きの認証機能

devise・authority・rolify 概要 3つのGemを使用して、権限付き認証機能を実装します。 gem インストール Gemfile ...

Rails devise で複数モデルの認証機能を実装

Rails devise で複数モデルを管理 概要 rails のログイン認証 Gem「devise」のインストール・設定方法を紹介します。 よく「d...
トップへ戻る