PHP

ゾウさん印のPHP !!

PPH(ピンキー・ポップ・ヘップバーン)ではない. 株式会社PHP研究所でもない. ちなみに株式会社PHP研究所は松下幸之助が設立.

Laravel (入門覚書)

最近キテるフレームワーク.
Dockerでベースから環境構築するのであれば, Laradock環境構築 から.
そうでないなら Laravel アプリケーション作成 から.

Laradock環境構築

Laradockが便利. めっちゃいい感じにやってくれて, ホストにあるアプリケーションのコードをDocker Volumeでマウントしてくれてたりする.

公式の導入方法: Laradock

Laradock 7.15での導入方法.

cd <Your project>
git clone https://github.com/Laradock/laradock.git
cd laradock
cp env-example .env
docker-compose up -d nginx mysql phpmyadmin redis workspace
echo DB_HOST=mysql >> .env
echo REDIS_HOST=redis >> .env
echo QUEUE_HOST=beanstalkd >> .env

まだlocalhostは404のはず. これはアプリケーションをまだ作ってないため.
アプリケーションのコンテナはlaradock_workspace_1という名前になる(これ書いてる時は)ので,

docker exec -it laradock_workspace_1 bash

でアプリのコンテナに入れる.
ここからアプリケーションを作成する.

ちなみにcd <Your project>したところがlaradock_workspace_1コンテナの/var/www/<Your project>にマウントされる.

Laravel アプリケーション作成

Laravelに関して

アプリケーションを/var/www/以下に配置するとする.
以下でcomposerが/var/www/<Your project>にLaravelアプリケーションのディレクトリを作成してくれる.

cd /var/www/
composer create-project laravel/laravel <Your project>

nginxの設定

Document rootが /var/www/publicのままなのでこれをLaravelのpublicディレクトリに変更する.

vim /var/www/laradock/nginx/sites/default.conf
// root /var/www/public; を
// root /var/www/<Your project>/public;
// に変更(sedで書け)

nginxのrestartをする.

Laravel の動作

まだまだお勉強中...

ハマったとこ

いくつかの入門サイトでは, routes.phpでコントローラを呼ぶ時に以下のように書いてる.

Route::controller('access','HogeController');

今はこの書き方をするとエラー(InvalidArgumentException Attribute [controller] does not exist.)が出る. 以下が正解.

Route::get('access','HogeController@<呼び出すメソッド名>');

が正解.

コマンド

ファイルつくるなどはartisanコマンドでやる.
場所は/var/www/<Your project>

  • コントローラ作成
php artisan make:controller HogeController