Home » スタッフBlog » CakePHP3の導入と初期設定

CakePHP3の導入と初期設定

category : スタッフBlog 2015.7.1 

技術部の小野寺です。

一年ほど前からPHPを使う案件を担当させて頂いており、現在の現場ではフレームワーク使用していないのですが、PHPフレームワークが2015年現在どんなものが人気であるのかgoogleトレンドにて調べてみました。

【画像1】FWトレンド

2012年ごろから急激にLaravelが成長を見せ、世界的に一番注目を得ているようです。
上記トレンド中のCakePHPが今年になり最新バージョンであるCakePHP3をリリースしたので、2と3での初期設定ファイルの違い、Composer(PHPパッケージ管理ツール)での導入手順についてまとめてみました。

0. 前準備
CakePHP3の動作環境として求められるPHP、MYSQLのバージョンがあるので自身の環境をご確認下さい。
PHP:5.4.16以上
MYSQL:5.1.10以上

1. composerの導入
どちらでも大丈夫なので、作業ディレクトリに下記コマンドにてインストールを行います。
curl -sS https://getcomposer.org/installer | php

【画像2】composer_install

「composer.phar」という実行ファイルを入手してきますのでそのファイルを
「composer」と新たに命名しPATHが通っているディレクトリへ移動させます。
mv composer.phar /usr/local/bin/composer

この時点でcomposerと打ってみてください。下記画像のような表記となっていればインストール成功です。

【画像3】composer_result

2. CakePHP3のインストール
下記コマンドにてCakePHP3の最新バージョンを入手してきます。(2015年6月29日現在だと3.0.7)
後ろの「cake3」はインストールする際のディレクトリ名となりますのでお好きな様に変更下さい。今回はcake3で進めて行きます。
composer create-project –prefer-dist cakephp/app cake3

2、3分ほどかかります。
最後に下記のようにデフォルトでPermission設定しますが良いですか?と聞かれるのでそのままエンターして下さい。
Set Folder Permissions ? (Default to Y) [Y,n]?

cake3をドキュメントルートへ移動します
mv cake3 /var/www/html/

IPアドレスでアクセスし画像のような表示がされれば成功です。

【画像4】cake3

3. データベース設定ファイルの違い
CakePHP2では/app/Config/database.phpのファイルに使用するデータベース、ユーザー、パスワードの設定をしていましたが、
CakePHP3では/config/app.php内でデータベース定義をするよう変更になりました。
app.php210目辺りの

‘Datasources’ => [
‘default’ => [
‘className’ => ‘CakeDatabaseConnection’,
‘driver’ => ‘CakeDatabaseDriverMysql’,
‘persistent’ => false,
‘host’ => ‘localhost’,
/** * CakePHP will use the default DB port based on the driver selected * MySQL on MAMP uses port 8889, MAMP users will want to uncomment * the following line and set the port accordingly
/
//’port’ => ‘nonstandard_port_number’,
‘username’ => ‘***’,
‘password’ => ‘****’,
‘database’ => ‘****’,
‘encoding’ => ‘utf8’,
‘timezone’ => ‘UTC’,
‘cacheMetadata’ => true,

が設定箇所となります。username・password・databaseをご自身の環境に合わせて下さい。

コントローラー、モデル内部の書き方も変わっているところが多いので
その差異についてまた次回スタッフブログでお伝え出来ればと思います。

タグ

サイト内検索

Copyright(c) 2015 IT-TERA All Rights Reserved.