CakePHP で静的なページを作成する方法

静的なページというかモデルを使用しないページを作成する場合。

app/config/routes.php に記述することで任意のコントローラーやアクションを実行したりビューを表示したりできる。


書式は、
$Route->connect (‘URL’,array(‘controller’=>’controllername’,’action’=>’actionname’, ‘firstparam’));


これにより特定のURLに対して静的?な表示用のコントローラーやアクションを実行し、またビューを表示する。


デフォルトでドキュメントルート(/)へのアクセスや、pagesディレクトリ(/pages/hoge)へのアクセスについて記述されている。

$Route->connect(‘/’, array(‘controller’ => ‘pages’, ‘action’ => ‘display’, ‘home’));
// 「/」 へのアクセスでpagesコントローラーとdisplayアクションを実行、homeビューを表示

$Route->connect(‘/pages/*’, array(‘controller’ => ‘pages’, ‘action’ => ‘display’));
// 「/pages/hoge」 へのアクセスでpagesコントローラーとdisplayアクションを実行、URLよりhogeビューを表示


静的ページを作成する場合、/pages/ 配下へビューファイルを配置してもよいし、
新たに、URLに /static/* などと指定しつつ追記することも可能。

CakePHP インストール

以下のような構成で public_html が Documentroot となっているとする。

└ Webroot/
    └ public_html/

——————————
1.
CakePHPの各ファイルを以下のように配置。

└ Webroot/
    ├ cake/
    ├ app/
    ├ vendors/
    └ public_html/

——————–
2.
app/webroot/ 以下の全ファイルをここにコピー。

——————–
3.
2でコピーした index.php 内の 定数「ROOT」と「APP_DIR」を書き換える。

define(‘ROOT’, ‘/path/to/Webroot’);
define(‘APP_DIR’, ‘app’);

——————–
4.
app/config/database.php.default を app/config/database.php としてコピー。
データベースの設定情報を編集する。

5.
app/tmp 以下に書き込み権を与える