便利なLaravel開発ツール









数ヶ月前、当社は、ほとんどのプロジェクトに使用する企業のPHPフレームワークを選択することにしました。 その前には、Symfony、Zend Framework、Yiiという動物園がありました。 人気のあるフレームワークを確認した後、 Laravelを試すことにしました。 数日間のトレーニングの結果、簡単なアプリケーションが作成された概要が作成されましたが、詳細なチュートリアルがすでにハブ存在するため 、開発に役立つ4つのツールについてのみ書くことにしました。



  1. Laravel IDEヘルパージェネレーター
  2. Laravel 4デバッグバー
  3. フェイカー
  4. ホームステッド


Laravel IDEヘルパージェネレーター



Laravelを初めてインストールし、お気に入りのIDEを開くと、ショックが発生します(まあ、確かにショックを受けました。おそらく強くなるでしょう 。ファサードとモデルのオートコンプリートは機能しません。 コードは次のようになります。







もちろん、コードのファサードを完全に放棄することはできますが、そのような根本的な解決策はありません-Laravel IDE Helper Generatorです。 これは、アプリケーションで使用されるコードに基づいて、生成された静的ファサードクラスを含むヘルパーファイルを生成するパッケージです。 クラスはアプリケーションによって使用されることはありませんが、IDEの完了にのみ必要です。



設置


コンポーザー経由でインストールする



composer require barryvdh/laravel-ide-helper:1.*
      
      





app/config/app.php



のプロバイダー配列に新しいサービスプロバイダーを追加しapp/config/app.php







 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider'
      
      





ファサード用のファイルヘルパーを生成できるようになりました



 php artisan clear-compiled php artisan ide-helper:generate php artisan optimize
      
      



データベースとの接続を記述していない場合、エラー「 Could not determine driver/connection for DB



がポップアップします-これは正常で、ファイルは生成されます


(それぞれのテーブルに基づいて)雄弁なモデルの説明を含むドックブロックを生成するには:



 php artisan ide-helper:models
      
      





ジェネレーターは、既存のモデルクラスまたは別の_ide_helper_models.php



ファイルにドックブロックを追加するように求めます。 私はモデルに追加することを好みますが、それは好みの問題です


Laravel 4デバッグバー



Laravel Debugbarは、PHP Debug Barフレームワークに統合するパッケージです。

コードの制御とデバッグを可能にする非常に便利なツール。 発生したリクエストの数(突然::with('smth')



を追加するのを忘れた場合::with('smth')



)、 ::with('smth')



、ログに書き込まれた内容、現在のユーザーに関する情報、ページの生成に使用されたタイプを常に把握できます。データは彼らに転送されました。 また、リダイレクトが発生した場合でも、いつでも以前のリクエストに関する情報を表示できます。



これは、開いているデバッグバーの外観です。







Debugbarは次の情報を表示できます(標準のPHP Debug Barコレクターに加えて、いくつかのカスタムコレクターが含まれています)。







ところで、Laravel 4.2.2 では 、フレームワークからWhoopsが削除されました(これは開発者にとって最も美しいエラーページです)。SymfonyDisplayerを使用するようになりました。これは単にスタックトレースを表示します。 クエリパラメータなどの表示に慣れている場合は、Laravel Debugbarを使用すると、この変更を穏やかに乗り切ることができます。 もちろん、 debug



モードでのみ機能します。



設置


 composer require barryvdh/laravel-debugbar:dev-master
      
      





app/config/app.php



のプロバイダー配列に新しいプロバイダーを追加しapp/config/app.php







 'Barryvdh\Debugbar\ServiceProvider',
      
      





このパッケージのリソース(スタイル、js)を追加します



 php artisan debugbar:publish
      
      





パッケージのドキュメントで、著者はリソースがバージョンによって異なる可能性があることに注意し、この行をcomposer.json



追加することを推奨しています。



 "post-update-cmd": [ "php artisan debugbar:publish" ],
      
      





使用されているコレクターのリストを編集するには、最初にこのパッケージの構成ファイルを追加する必要があります。



 php artisan config:publish barryvdh/laravel-debugbar
      
      





そして、ファイルapp/config/packages/barryvdh/laravel-debugbar/config.php



編集します。



フェイカー



FakerはLaravelに関連付けられていないライブラリですが、Siderでの使用には非常に便利です。 Fakerは、さまざまなテストデータを生成します:文字列、数字、あらゆるサイズのテキスト。 すべての種類のユーザーデータ:名前(性別)、電話番号、メール。 住所データ:通り、国、座標など さまざまな形式の時間、ウェブサイトアドレス、IP、ブラウザユーザーエージェント、銀行カード情報、色、バーコード、さまざまなハッシュ。

別途、画像の生成について言及する価値があります。このFakerはLoremPixelジェネレーターを使用し、必要なサイズと方向の画像ファイルを指定されたフォルダーに慎重にコピーするためです。



 $filename = $faker->image('image/dir', 300, 300, 'cats');
      
      





ランダムなテストデータを「修正」することもできます。つまり、Fakerが毎回同じデータを生成するように、シードを設定するだけです。



 $faker = Faker\Factory::create(); $faker->seed(1234); echo $faker->name; //  'Vera Gzhel'
      
      





データの一意性とオプション性を確保できます。



 for ($i=0; $i < 5; $i++) { //    $values[]= $faker->unique()->randomDigit; } for ($i=0; $i < 5; $i++) { //  ,  null $values[]= $faker->optional()->randomDigit; }
      
      





必要なロケールをコンストラクタに渡すことで、データをローカライズすることもできます



 $faker = Faker\Factory::create('ru_RU'); echo $faker->name; //  
      
      





そのようなインストールはありません。作曲家にロードするだけです



 composer require fzaninotto/faker:1.4.*@dev
      
      





そして使用する



 $faker = Faker\Factory::create('ru_RU'); echo $faker->name;
      
      







ホームステッド



Laravel 4.2で、 Homestead - Vagrant -box(仮想マシンのイメージ)が導入されました。これには、Laravelでの開発に必要なものすべてが含まれています(最終的には仮想マシンだけではありません)。 人気のあるフレームワークが公式ボクシングを提供してくれたことはとてもクールだと思います。 これが一般的な開発者向けのLinuxの普及に役立つことを願っています。 そして、Windowsを使用してデンバーなどに座ってLinuxを試してみた初心者開発者の多く(そして、浮浪者-それはまったく難しいことではありません)は、プロフェッショナルで戦闘に近い環境で開発を行います。 したがって、さらにWindowsにHomesteadをインストールすることにもっと注意を払い、世界を少し良くすることを望みます。



Homesteadは、オペレーティングシステムや同僚のオペレーティングシステム、バージョン、開発に必要なソフトウェアの可用性について考える必要をなくします。

1つのコマンドのみを使用して開発環境に新しいサイトを追加できます。また、「実」システム(後でゲストシステムと呼びます)と仮想マシンの間で、構成で指定された任意の数のフォルダーを同期します。 つまり、お気に入りのエディターを使用してオペレーティングシステムのコードの編集を続行でき、ファイルは自動的に仮想マシンと同期されます。



ホームステッドには以下が含まれます:





設置


まず、 VagrantVirtualBoxをインストールします。インストーラーは不要な質問をしないため、インストールは簡単です。

vagrantのインストール後、インストーラーはシステムの再起動を要求します。 再起動中にBIOSに入り、Intel Virtualization Technology(VT-x、AMD-V、正直に言うと、異なるシステムでどのように呼び出すことができるかわかりません)が有効になっているかどうかを確認し、有効になっていない場合はオンにします。



Windowsを使用している場合はコンソールを開き、Git Bashを開きます( インストールされていない場合はインストールします )。まだ必要なので、Homesteadボックスを追加してください:



 vagrant box add laravel/homestead
      
      





ボックスがダウンロードされている間に、Homesteadの設定でリポジトリをクローンします。 ドキュメントでは、すべてのプロジェクトが保存されるフォルダーへのクローン作成が推奨されています(例C:/Users/YourName/Workspace



):



 git clone https://github.com/laravel/homestead.git
      
      





homestead



フォルダーに移動してHomestead.yaml



構成ファイルを開くと、次のようになります。



 --- ip: "192.168.10.10" # ip     memory: 2048 #      cpus: 1 #     authorize: /Users/me/.ssh/id_rsa.pub #     keys: - /Users/me/.ssh/id_rsa #     folders: # ,         - map: /Users/me/Code #    (  )      to: /home/vagrant/Code #          sites: #  ,       - map: homestead.app # ,      to: /home/vagrant/Code/Laravel/public #    (!) ,      (index.php)  
      
      





sshキーがない場合は、 ssh-keygen



(WindowsのGit Bashで利用可能)を使用して生成しssh-keygen







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





Homestead.yaml



公開鍵と秘密鍵を登録します。



ゲスト(お使いの)マシンでプロジェクトが保存される(または既に保存される)フォルダーと、仮想マシン上の対応するパスを指定します。

テストサイトフォルダーを作成します。たとえば、プロジェクトディレクトリにtest



を作成し、 test/public/index.php



ファイルtest/public/index.php



追加します。



 // test/public/index.php <?php phpinfo();
      
      





Homestead.yaml



パスと目的のアドレスを書き込みます。 その結果、 Homestead.yaml



(Windows用)は次のようになります。



 --- ip: "192.168.10.10" memory: 2048 cpus: 1 authorize: C:\Users\YourName\.ssh\id_rsa.pub keys: - C:\Users\YourName\.ssh\id_rsa folders: - map: C:\Users\YourName\Workspace to: /home/vagrant/Workspace sites: - map: test.dev to: /home/vagrant/Workspace/test/public - map: anothersite.dev to: /home/vagrant/Workspace/anothersite/public
      
      





ゲストホストのファイルに適切な行を追加します(Windowsの場合: C:\Windows\System32\drivers\etc\hosts



):



 127.0.0.1 test.dev
      
      





このセットアップが完了したら、システムを一度セットアップする必要があることに注意してください。今後の作業では、これらの手順を繰り返す必要はありません。



homesteadディレクトリで実行することから始めます:



 vagrant up
      
      





vagrantが仮想マシンを初期化して起動した後、 test.dev :8000に移動して、その動作を確認できます。



それだけです 作業が必要なのはvagrant up



コマンドのみです。



使用する


ゲストマシンの次のポートが仮想マシンにリダイレクトされます。



SSH:2222-> 22

HTTP:8000-> 80

MySQL:33060-> 3306

Postgres:54320-> 5432



つまり、たとえば、次のようにクライアントマシンからmysqlに接続できます。



 mysql -u homestead -p -P 33060 -h 127.0.0.1
      
      





postgresqlとmysqlのユーザー名とパスワードは、両方ともvagrant / secretおよびroot / secretです。



仮想マシン内からデータベースに接続する場合は、標準ポートを使用します。



sshを介して仮想マシンにログインします。



 vagrant ssh
      
      





すべてのvagrant



コマンドは、 homestead



ディレクトリから実行する必要があります


新しいサイトを追加するには2つの方法があります。





これらのメソッドのいずれかを追加した後、hostsファイルを更新してください: 127.0.0.1 new.dev







それだけです 素晴らしい開発を!



All Articles