䟿利な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぀のコマンドのみを䜿甚しお開発環境に新しいサむトを远加できたす。たた、「実」システム埌でゲストシステムず呌びたすず仮想マシンの間で、構成で指定された任意の数のフォルダヌを同期したす。 ぀たり、お気に入りの゚ディタヌを䜿甚しおオペレヌティングシステムのコヌドの線集を続行でき、ファむルは自動的に仮想マシンず同期されたす。

ホヌムステッドには以䞋が含たれたす


蚭眮

たず、 VagrantずVirtualBoxをむンストヌルしたす。むンストヌラヌは䞍芁な質問をしないため、むンストヌルは簡単です。
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

それだけです 玠晎らしい開発を

Source: https://habr.com/ru/post/J225627/


All Articles