わすれっぽいきみえ

みらいのじぶんにやさしくしてやる

2日目: Laravel導入

業務でphpフレームワークを使うことがなくて寂しいのでLaravelを使ってみようと思う。

Laravel phpだけでググると4.2系のドキュメントに行き着いてしまったので

laravel.com

ここからすすめる。

composer global require "laravel/installer"

これは4系と変わらないが、5系からか laravel というコマンドが追加された。4系にもあったかもしれないが少なくともinstallの時点でこのコマンドは出てこない。

laravel new open-kamattechan-php

Crafting application...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
(abbr...)
Generating autoload files
> php -r "file_exists('.env') || copy('.env.example', '.env');"
> Illuminate\Foundation\ComposerScripts::postInstall
> php artisan optimize
Generating optimized class loader
The compiled class file has been removed.
> php artisan key:generate
Application key [base64:hoge] set successfully.
Application ready! Build something amazing.

Amazing!
一応 composer create-project --prefer-dist laravel/laravel open-kamattechan-php みたいに旧来の方法も使える。

php artisan serve

を実行すると http://localhost:8000 でデモページが開く。

Directory Structure - Laravel - The PHP Framework For Web Artisans

でもディレクトリ構造は見れるが実際にどうなってるのか見たかったので tree を叩いてみた。

tree -L 3 -I vendor
.
├── app
│   ├── Console
│   │   └── Kernel.php
│   ├── Exceptions
│   │   └── Handler.php
│   ├── Http
│   │   ├── Controllers
│   │   ├── Kernel.php
│   │   └── Middleware
│   ├── Providers
│   │   ├── AppServiceProvider.php
│   │   ├── AuthServiceProvider.php
│   │   ├── BroadcastServiceProvider.php
│   │   ├── EventServiceProvider.php
│   │   └── RouteServiceProvider.php
│   └── User.php
├── artisan
├── bootstrap
│   ├── app.php
│   ├── autoload.php
│   └── cache
│       └── services.php
├── composer.json
├── composer.lock
├── config
│   ├── app.php
│   ├── auth.php
│   ├── broadcasting.php
│   ├── cache.php
│   ├── compile.php
│   ├── database.php
│   ├── filesystems.php
│   ├── mail.php
│   ├── queue.php
│   ├── services.php
│   ├── session.php
│   └── view.php
├── database
│   ├── factories
│   │   └── ModelFactory.php
│   ├── migrations
│   │   ├── 2014_10_12_000000_create_users_table.php
│   │   └── 2014_10_12_100000_create_password_resets_table.php
│   └── seeds
│       └── DatabaseSeeder.php
├── gulpfile.js
├── package.json
├── phpunit.xml
├── public
│   ├── css
│   │   └── app.css
│   ├── favicon.ico
│   ├── index.php
│   ├── js
│   │   └── app.js
│   ├── robots.txt
│   └── web.config
├── readme.md
├── resources
│   ├── assets
│   │   ├── js
│   │   └── sass
│   ├── lang
│   │   └── en
│   └── views
│       ├── errors
│       └── welcome.blade.php
├── routes
│   ├── api.php
│   ├── console.php
│   └── web.php
├── server.php
├── storage
│   ├── app
│   │   └── public
│   ├── framework
│   │   ├── cache
│   │   ├── sessions
│   │   └── views
│   └── logs
├── tests
│   ├── ExampleTest.php
│   └── TestCase.php
└── yarn.lock

35 directories, 49 files

はじめからyarnが入ってる! 初期状態で必要なnodeのパッケージは yarn install すれば良い。

ドキュメントを上から順に読んでいったところで Homestead というものを知った。
Homesteadは簡単に言うとLaravel実行環境をvagrant box化したもの。
Valet も使えるとあるが、ここ最近全然vagrantとVirtual Boxを使ってなかったので使ってみる。

Homesteadのお話はまた明日。