Laravel 5の紹介VirtualBox + Vagrantでのローカル開発によるシンプルなブログ

新しいバージョンのリリースを考慮して、Laravel 5.0はこのフレームワークの革新に関する記事を書くことにしました。 Laravelはまだロシアではあまり人気がなく、これはHabréの記事の数からも明らかであるため、開発者はしばしば、特に英語を知らずに、少しずつ情報を収集する必要があります。



すぐに公式リリースの前に予約してください( 私が間違っていなければ、これは 2014年11月8日です)。このブランチを作業中のプロジェクトで使用しないでください。



この記事では、Vagrantでプロジェクトを設定し、phpStorm 8を設定し、Laravel 5を使用して簡単なアプリケーションを実際に開発することを検討します。長い間スニーカーを引っ張ることはありません。



Vagrantについてはあまり説明しません。Habrとネットワークの両方ですでにかなり説明されているので、簡単に説明します。



-VirtualBoxをダウンロードしてインストールします。

-次にVagrantを配置します。



さて、次に行きましょう、そして最も良いものが来ます。 自分でボクシングを収集するのではなく、公式の仮想ゲームをLaravel開発者から入手します。 その結果、プロジェクトのニーズに合わせてカスタマイズされた、かなり強力強力な環境(Ubuntu 14.04、PHP 5.6、HHVM、Nginx、MySQL)が得られます。 もちろん、私自身もUbuntuをDebianに置き換えますが、まあ、選択するものは何もありません。 ターミナルを開き、コマンドを実行してイメージをダウンロードします。

vagrant box add laravel/homestead







接続速度にもよりますが、仮想マシンのダウンロードには5分かかり、重量は約780 mbです。 gitを使用して、Homesteadリポジトリを複製します。仮想マシンとプロジェクトを構成する必要があります。



git clone github.com/laravel/homestead.git Homestead







次に、ホームディレクトリにHomesteadフォルダーが表示されます。このフォルダーで、Homestead.yamlファイルを編集する必要があります。 プロジェクトフォルダーへのパスと同様に、公開キーへのパス、ローカルドメイン(デフォルトではhomestead.app)を指定します。 HHVMが機能するためには、 サイトノードにhhvm:trueを追加する必要があります。SSHキーを生成し、ターミナルに入力してEnterキーを押します。



ssh-keygen -t rsa -C "your@email.com"







そして、開始前の最後のタッチで、ローカルドメインを/ etc / hostsファイルに追加します



127.0.0.1 blog.app







ターミナルで、プロジェクトのあるフォルダーに移動し、 vagrant upと入力するだけでサーバーが起動します。vagranthaltを使用して停止ます。 現在、私たちのサイトはblog.app:8000で利用可能です。仮想マシンの開始時に設定されるポート構成は、 scripts / homestead.rbファイルで変更できますが、緊急の必要がない限り、これはお勧めしません。



sshを介して仮想マシンに接続する必要がある場合もあります。簡単に書くことはできません。



vagrant ssh







サイト(/ home / vagrant / Code / Laravel / public)が空のディレクトリがあり、Laravelをインストールしてプロジェクトを実行する必要があります。 しかし、これを行う前に、phpStorm 8を設定しましょう。Bladeテンプレートエンジンの公式サポートが登場したため、選択がそれに当たりました。 プログラムを起動した後、[ ファイル]→ [ 既存のファイルから新しいプロジェクト... ]を選択し、ルートフォルダー/ホーム/ユーザー名/コード/ Laravelを指定して新しいプロジェクトを作成します。



画像



次のステップで、プロジェクトの名前とサイトのアドレスを指定するよう求められます。サイトを指定しますblog.app:8000 / [次へ]をクリックして終了します。



表示されたウィンドウでメニューツール→Composer-> Init Composerに進み、composer.pharを使用して反復(php)とファイルへのパスを指定します。 Composerのインストール方法については、 こちらをご覧ください 。 プロジェクトのルートに、デフォルト設定のcomposer.jsonファイルがあります。 再度、 ツール→Composer→依存関係の追加を開き、左の列でlaravel / frameworkを検索する行で、見つかったものをクリックし、右でバージョン5.0-devを選択して、 インストールをクリックします







しかし、何らかの理由で、Composerが安定しているときに示されたバージョンを見つけることができません。クリーンなプロジェクトでは4.2.11が問題なく起動するので、すべてが問題ないと思います。 それまでの間、コンソールで回り道をしてみましょう。



composer create-project laravel/laravel Laravel dev-develop --prefer-dist





コンソールから手動でインストールします。 少し待って作業の準備ができました。ブラウザでblog.appアドレスを開いて確認します:8000 /有名なLaravelロゴが表示されます。



そうでない場合は、ログを調べてください。ほとんどの場合、エラーが発生します。プロジェクトルートに.env環境構成ファイルが存在しないため、また./storage/metaフォルダーが存在しないため、今日エラーが発生しました。 .envファイル内:



APP_ENV=local

APP_KEY=sdsdfZsdf65FDdsd

DB_USERNAME=root

DB_PASSWORD=derev









間違いを見つけたようです。ディレクトリ構造について少し言いたいことがあります。 構造はそれほど変わっていませんが、それでも:







Middlevareフォルダーについてもう少し言いたいと思います。 ほんの1か月前、このフォルダーはフィルターと呼ばれていましたが、現在は名前の変更を検討しています。 このため、このバージョンのフレームワークを戦闘状態で使用するのは価値がありませんが、必要な場合でも非常に多くの利点があります。

クールなのは名前空間であり、Laravel 5で現代のプログラミングのこの奇跡がサポートされているのはクールです。 クラスを問題なくロードするには、最初に名前空間App \ Folder \ Nameを指定するだけで十分です。



とりあえずイノベーションについてはこれで終わりです。残りは記事の途中です。



まず、アプリケーションを構成します。 config / app.phpファイルを開きます



 'debug' => true, 'url' => 'http://blog.app:8000', 'timezone' => 'UTC', 'locale' => 'ru', ...
      
      





config / database.phpファイルを編集します。 ここでは、デフォルトでmysqlおよび接続パラメーターを使用することを示す必要があります。データベースでテーブルプレフィックスを指定するのもいいでしょう。l5_を指定しました



 'locale' => 'ru', ... 'mysql' => [ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'l5', 'username' => 'root', 'password' => 'derev', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => 'l5_', ], ... ] …
      
      





config / session.php、ここでセッションを保存する場所を示します。データベースに保存するのが好きです(特に、laravelでデータベースにセッションを書き込むメカニズムがすでに存在し、独自の自転車を発明する必要がないため)



 ... 'driver' => 'database', … 'table' => 'sessions', …
      
      





構成については、ローカル環境が指定されているため、config / localフォルダーに注意を払い、そこで構成ファイルを確認する必要があることに注意してください。



また、ターミナルで移行を作成してロードする必要があります。



php artisan session:table

php artisan migrate:install








これにより、移行テーブルとセッション用のテーブルが作成されます。 この記事を書いている時点では、この職人のコマンドにはグリッチがあり、毎回データベースにテーブルを作成しようとするとエラーが表示されます。 したがって、テーブルは手動で作成したことに注意してください。



移行ファイルは、フレームワークの4番目のバージョンと変わりません。



この記事で多くのブカフが判明したので、これは丸めるべきだと思います。 残りは第2部で公開されます。



All Articles