(MacOSX10.8, cakephp2.4, MAMP2.1.8)
install php
$ sudo port install php55 $ sudo port install php55-openssl
ディレクトリ作成
$ mkdir project_name $ cd project_name
.gitignore
tmp/* [Cc]onfig/core.php [Cc]onfig/database.php app/tmp/* app/[Cc]onfig/core.php app/[Cc]onfig/database.php !empty Vendor/*
インストール
$ curl -sS https://getcomposer.org/installer | php -d detect_unicode=Off
composer.json
{ "name": "example-app", "repositories": [ { "type": "pear", "url": "http://pear.cakephp.org" } ], "require": { "pear-cakephp/cakephp": ">=2.4.3" }, "config": { "vendor-dir": "Vendor/" } }
$ php composer.phar install
cake bake project
$ Vendor/bin/cake bake project app
プラグイン追加
composer.json
{ "name": "example-app", "repositories": [ { "type": "pear", "url": "http://pear.cakephp.org" } ], "require": { "pear-cakephp/cakephp": ">=2.4.3" }, "require-dev": { "cakephp/debug_kit": "2.2.*", "phpunit/phpunit": "3.7.*" }, "extra": { "installer-paths": { "app/Plugin/DebugKit": ["cakephp/debug_kit"] } }, "config": { "vendor-dir": "Vendor/" } }
$ php composer.phar update
絶対パスから相対パスに変更
app/webroot/index.php
-define('CAKE_CORE_INCLUDE_PATH', DS . 'Users' . DS . 'username' . DS . 'app_dir' . DS . 'Vendor' . DS . 'pear-pear.cakephp.org' . DS . 'CakePHP'); +define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'Vendor/pear-pear.cakephp.org/CakePHP');
app/webroot/test.php
-define('CAKE_CORE_INCLUDE_PATH', DS . 'Users' . DS . 'username' . DS . 'app_dir' . DS . 'Vendor' . DS . 'pear-pear.cakephp.org' . DS . 'CakePHP'); +define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'Vendor/pear-pear.cakephp.org/CakePHP');
app/Console/cake.php
// the following line differs from its sibling // /app/Console/cake.php - * ini_set('include_path', $root . PATH_SEPARATOR . $ds . 'Users' . $ds . 'username' . $ds . 'app_dir' . $ds . 'Vendor' . $ds . 'pear-pear.cakephp.org' . $ds . 'CakePHP' . PATH_SEPARATOR . ini_get('include_path')); */ + ini_set('include_path', $root . $ds . 'Vendor' . $ds . 'pear-pear.cakephp.org' . $ds . 'CakePHP' . PATH_SEPARATOR . ini_get('include_path'));
app/Config/database.php
<?php class DATABASE_CONFIG { public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock', 'login' => 'sample', 'password' => 'sample', 'database' => 'cake_sample', 'encoding' => 'utf8' ); }