Laravel4からLaravel5へ。
会社でのPHPスクラッチ開発ではLaravel4を利用することが多く、とくに不便なく効率的に開発しています。
・・・が、Laravel5がでたので、ぼちぼち新規の案件では使いはじめないといけない状況です(と思います)
というわけで、まずは導入。
Quick Start
Composerを利用してLaraveインストーラーをインストールします。
PS C:\xampp\htdocs>composer global require "laravel/installer=~1.1"
Changed current directory to C:/Users/Me/AppData/Roaming/Composer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing symfony/process (v2.7.0)
Downloading: 100%
- Installing symfony/console (v2.7.0)
Downloading: 100%
- Installing guzzlehttp/streams (2.1.0)
Downloading: 100%
- Installing guzzlehttp/guzzle (4.2.3)
Downloading: 100%
- Installing laravel/installer (v1.2.0)
Downloading: 100%
symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing psr/log (For using the console logger)
Writing lock file
Generating autoload files
PS C:\xampp\htdocs>
laravelコマンドが使えるようになった!
とおもったらエラー。
>laravel new blog
用語 'laravel' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名
前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:8
+ laravel <<<< new blog
+ CategoryInfo : ObjectNotFound: (laravel:String) []、CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
ファイルはvender配下に存在しています。
PS C:\xampp\htdocs> ls C:\Users\Me\AppData\Roaming\Composer\vendor\bin/
ディレクトリ: C:\Users\Me\AppData\Roaming\Composer\vendor\bin
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2015/06/05 21:14 140 laravel
-a--- 2015/06/05 21:14 85 laravel.bat
公式ドキュメントによると、ここにPathを通さないといけないらしいんだけど、めんどくさいので直接。
> C:\Users\Me\AppData\Roaming\Composer\vendor\bin/laravel new blog Crafting application... Generating optimized class loader Compiling common classes
プロジェクトができました
ウェブアクセスも無事に完了
やっぱり簡単ですね。
従来通りcomposerでプロジェクトを作成することもできます。
composer create-project laravel/laravel --prefer-dist
ユーザ登録と認証は最初から用意されています。
/auth/loginでログイン画面
/auth/registerでユーザ登録
password/emailでパスワードリマインダー
・・・と思ったら、データベース接続エラーが発生
データベースを作成して、config/database.phpに設定を書きます。
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => storage_path().'/database.sqlite',
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'laravel5'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'password'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
まだエラー
なんと、Laravel5では従来の環境名ではなく、PHP dotenvを利用しているので、ルートフォルダの.envファイルを変更する必要があるらしい。
Environment Configuration
NetBeansで、.(ドット)で始まるファイルがプロジェクトウィンドウに表示されないので、「ツール」→「オプション」→「ファイル」でフィルタ条件を変更
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(htaccess|gitignore|gitkeep)$).*$
↓
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(htaccess|gitignore|gitkeep|env)$).*$
みえた!
.envファイルを変更
DB_HOST=localhost DB_DATABASE=laravel5 DB_USERNAME=root DB_PASSWORD=password
無事に画面表示!
認証が不要なアプリケーションを作成する場合は、php artisan freshコマンドを実行します。












