ComposerでCakephpとPHPUnitを入れてみたの続きです
bake でプロジェクトを作ります
プロジェクト名はappにしました
/home/user/ws/vagrant/precise/cakephp/
がカレントディレクトリのときの実行結果です
$ Vendor/bin/cake bake project app
Welcome to CakePHP v2.6.1 Console
---------------------------------------------------------------
App : cakephp
Path: /home/user/ws/vagrant/precise/cakephp/
---------------------------------------------------------------
Skel Directory: /home/user/ws/vagrant/precise/cakephp/Vendor/cakephp/cakephp/lib/Cake/Console/Templates/skel
Will be copied to: /home/user/ws/vagrant/precise/cakephp/app
---------------------------------------------------------------
Look okay? (y/n/q)
[y] > y
---------------------------------------------------------------
Created: app in /home/user/ws/vagrant/precise/cakephp/app
---------------------------------------------------------------
* Random hash key created for 'Security.salt'
* Random seed created for 'Security.cipherSeed'
* Cache prefix set
* app/Console/cake.php path set.
CakePHP is not on your `include_path`, CAKE_CORE_INCLUDE_PATH will be hard coded.
You can fix this by adding CakePHP to your `include_path`.
* CAKE_CORE_INCLUDE_PATH set to /home/user/ws/vagrant/precise/cakephp/Vendor/cakephp/cakephp/lib in webroot/index.php
* CAKE_CORE_INCLUDE_PATH set to /home/user/ws/vagrant/precise/cakephp/Vendor/cakephp/cakephp/lib in webroot/test.php
* Remember to check these values after moving to production server
Project baked successfully!
Security.saltとSecurity.cipherSeedは勝手に生成してくれるようです
CAKE_CORE_INCLUDE_PATHを変えます
$ vim app/webroot/index.php
define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'Vendor' . DS . 'cakephp' . DS . 'cakephp' . DS . 'lib');
autoloaderを調整します
$ vim app/Config/bootstrap.php
// composerのautoloadを読み込み
require ROOT . DS . 'Vendor/autoload.php';
// CakePHPのオートローダーをいったん削除し、composerより先に評価されるように先頭に追加する
// https://github.com/composer/composer/commit/c80cb76b9b5082ecc3e5b53b1050f76bb27b127b を参照
spl_autoload_unregister(array('App', 'load'));
spl_autoload_register(array('App', 'load'), true, true);
ROOTが作成したappの一つ上、DSはDIRECTORY_SEPARATORで、ディレクトリの区切り文字です
データベースを用意します
mysqlを入れていたので、cakephpという名前でcreate databaseしておいて
設定ファイルのベースをコピー
$ cp app/Config/database.php.default
$ vim app/Config/database.php
データベース名、データベースユーザー、パスワードを変更します
で、画面にアクセスすると
DebugKitを入れてない他はクリアしました
参考:
Cakephpでルーティングが動かない!? – bgbgbg