目次
- composerでmac osにインスコ
- cakeboxで表示
- 2.x系と3.0.4比べてみました〜
- チュートリアルやってみる
cakephp3が出て触ってみたかったのでメモる
ここにあったbookmarkerのチュートリアルをやってみます
http://book.cakephp.org/3.0/en/tutorials-and-examples/bookmarks/intro.html
php5.5 php intl pear composerがいりますね
cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
curl -s https://getcomposer.org/installer | php
php composer.phar create-project --prefer-dist cakephp/app bookmarker
(tapする必要がある方はこちらを参照
http://qiita.com/boheanimato/items/0b665f84b80df5fa54fd)
セキュリティサルトとかpermissionとか勝手にやってくれるという神具合
cake2だとこの辺面倒臭かった、、、、
もしintlがなかったら以下を試してみてくだされ
php install php55/intl (既に入ってる人はいいです!!)
To finish installing intl for PHP 5.5:
- /usr/local/etc/php/5.5/conf.d/ext-intl.ini was created, do not forget to remove it upon extension removal.
- Validate installation via one of the following methods: *
- Using PHP from a webserver:
- - Restart your webserver.
- - Write a PHP page that calls "phpinfo();"
- - Load it in a browser and look for the info on the intl module.
- - If you see it, you have been successful! *
- Using PHP from the command line:
- - Run "php -i" (command-line "phpinfo()")
- - Look for the info on the intl module.
- - If you see it, you have been successful!
上のメッセージが出るので php -iで確認してみて下さい
そして cd bookmaker に移動して
bin/cake server
して(rails -s的なあれ)
この画面が表示されたら OK!!
既にdebug toolが入ってる有能具合(まあ普通あるかw)
ただ、database not connectになってると思うので
vagrant virtual boxを使って環境構築してあげましょう!!
既に環境構築していて 俺はいらねーぜって方はちょっと読み飛ばして頂いて結構です!!
ここで便利なcakeboxを使いましょう(さっき見つけたw)
要件は以下なのでアップデートしてない人はしておいてくだされ
VirtualBox 4.0 or higher
Vagrant 1.6.0 or higher
a machine with at least 4GB of memory and 2 Cores
cakeboxはchefでubuntuベースのboxファイルを生成してくれるみたいです。
詳細は以下
http://cakebox.readthedocs.org/en/latest/features/
でルートdirで おもむろに
git clone https://github.com/alt3/cakebox.git
cd cakebox
cp Cakebox.yaml.default Cakebox.yaml
vagrant up
sshしたら
/Users/kosuke.tanihata/cakebox% vagrant ssh
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-24-generic x86_64)
____ _ ____
/ ___|__ _| | _____| __ ) _____ __
| | / _` | |/ / _ \ _ \ / _ \ \/ /
| |__| (_| | < __/ |_) | (_) > <
\____\__,_|_|\_\___|____/ \___/_/\_\
って出ると思います。かっけーですね
mysql nginxがすでに入ってる いいね php は 5.6でした
細かい構成は以下!!
db は mysql だけでログイン可能
laravelのhomestead意識していたりするのかな??
んで http://10.33.10.10/dashboard にログインすると、、、
もうできてる、、、、、
(ちなみに同じdirに別のcakeのプロジェクト入れたらsslエラーが出たので cakeboxいれて立ち上がるの確認してからappディレクトリの中に作った方がいいかもしれません 要検証 わかった人いたらこっそり教えて下さい)
vagrant ssh した所に おもむろに
cakebox application add mycake3.app
って打つだけでプロジェクトが生成されます!!
(mycake3.appは各自リネームしてください!!)
そして vmではない方のcakeboxディレクトリの中のAppsって所と共有される設定になってます。
成功したら以下のメッセージが出るので言うとおりにしましょう
Creating virtual host
* Successfully created PHP-FPM virtual host
Creating databases
* Successfully created main database
* Successfully created test database
Configuring permissions
Updating configuration files
Application created using:
database => mycake3_app
framework => cakephp
framework_human => CakePHP 3.x
framework_short => cakephp3
installation_method => composer
majorversion => 3
path => /home/vagrant/Apps/mycake3.app
source => cakephp/app
url => mycake3.app
webroot => /home/vagrant/Apps/mycake3.app/webroot
Remember to update your hosts file with: 10.33.10.10 mycake3.app
(vimが入ってないのはマジ失点)
sudo apt-get install vim
sudo vim /etc/hosts して
10.33.10.10 mycake3.app
これを書き込んであげましょう
(docには mycake3.appにアクセスしたら動くようになってたけど僕のは調子が悪く)
bin/cake server -H 0.0.0.0 を cakeのあるディレクトリで叩いてあげて
からアクセスしました。
僕はこの時sessionのパーミッションエラーが出ていたので、cakeboxにある
/var/lib/php5/sessionsのpermissionを書き換えておきました。
そしてリロードしたらなんとまあdashbordから見れるではありませんかあああ
test用アプリ用、両方のdbが用意されているという
有能だ
そしてcake3の構成確認
cakephp2のようにapp dirの中に全部あるのではなく結構バラけてる感じですね
そして、srcの中によく使うMVCが入ってます。
controllerは今まで通りっぽい
viewはtemplateってとこに入ってます
Modelは、、、、
増えてる!!
fatcontroolerになって 次に fatmodelになっていたcake2のつらみがようやく、、、、
その2 チュートリアルをする に続く!!