ざっくりと、CakePHP3が動作するまでを説明。
環境はCentOSを想定。
事前にcomposerをインストールして、composerコマンドだけで、動くようにしておく。
以前書いた記事を参考に。 ざっくりComposer
作りたいプロジェクト名を決める。今回はcake3testとする。
Composerでインストール
作りたいプロジェクトのディレクトリに移動して以下のコマンドを実行。
composer create-project --prefer-dist cakephp/app cake3test
MyProjectsというディレクトリだったら、MyProjects\cake3testで作成される。
ちなみに、ext-intlが無い旨のメッセージがでたら、yumからinstallして、再度チャレンジ。
yum install php-intl
わ~~っと画面が流れて、上手くインストールが進むと、
Created `config/app.php` file Set Folder Permissions ? (Default to Y) [Y,n]?
なんかフォルダのパーミッションがどうたらと聞かれる。
Yで答えたら、
Updated Security.salt value in config/app.php
とでて、configの下に、app.phpが生成されている。
これは、configのapp.default.phpにsalt値を入れて、app.phpという名前にしただけの模様。
CakePHP2の時は、似たような設定ファイルに手作業でsalt値入れたりしてた。
次に、httpd.confのドキュメントルートを、cake3test/webrootにしてアパッチ再起動。
これで、任意のIPにアクセスすればなんだか、オシャレなトップページへとんだ。
よくみると、だいたい成功しているんだけど、databaseがエラーになっている。
DataBaseを設定
mysqlでログイン
とりあえず、ローカルホストからアクセス可能なユーザーを作成
CREATE USER gomokuro@localhost IDENTIFIED BY 'password';
databaseはcake3testで作ったとする。
CREATE DATABASE cake3test CHARACTER SET UTF8;
んで、権限を与える。
GRANT ALL ON cake3test.* TO gomokuro@localhost;
exit で一度でて、
mysql -u gomokuro -p
先ほど作成したユーザーでログインして、USE cake3test
下記のCREATE文を流す。
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, created DATETIME, modified DATETIME );
show tables;でusersがでれば、OK
これでDBの作成は完了。
config/app.php の Datasoruce の辺りを設定する。
'username' => 'gomokuro', 'password' => 'xxxxxx', 'database' => 'cake3test', 'encoding' => 'utf8', 'timezone' => 'UTC', 'cacheMetadata' => true,
これで、DBが繋がりグリーンになる。
bakeコマンドで雛形を作成
cd でcake3testに移動して、
bin/cake bake all users
と作成したusersテーブルをbakeしてみる。
ワラワラっと流れて、下記のファイルが自動生成される。
- /cake3test/src/Model/Table/UsersTable.php
- /cake3test/src/Model/Entity/User.php
- /cake3test/tests/Fixture/UsersFixture.php
- /cake3test/tests/TestCase/Model/Table/UsersTableTest.php
- /cake3test/src/Controller/UsersController.php
- /cake3test/tests/TestCase/Controller/UsersControllerTest.php
- /cake3test/src/Template/Users/index.ctp
- /cake3test/src/Template/Users/view.ctp
- /cake3test/src/Template/Users/add.ctp
- /cake3test/src/Template/Users/edit.ctp
(CakePHP2の時にも思ったけどCake初心者の時は、bakeコマンドで勝手に作られる感じが嫌だったなー。)
http://xxxxxx/usersに行くと、なんか出来ている。
作成、編集、削除が一通りできている。
試しにユーザーを作成したり削除したりしたが、基本機能はこれで十分に思える。
ひとまず「インストール」としては、ざっくりだが、完了。
パスワードが丸見えなので、次はこれを暗号化する。 => [CakePHP3] Setter(セッター)とGetter(ゲッター)をざっくりと知る