उपयोगी लारवेल विकास उपकरण









कुछ महीने पहले, हमारी कंपनी ने एक कॉर्पोरेट PHP फ्रेमवर्क चुनने का फैसला किया, जिसका उपयोग हम अधिकांश परियोजनाओं के लिए करेंगे। इससे पहले, हमारे पास एक पूरा चिड़ियाघर था: सिम्फनी, ज़ेंड फ्रेमवर्क, वाईआईआई - जो अधिक पसंद करते थे। लोकप्रिय रूपरेखा की समीक्षा करने के बाद, हमने लारवेल की कोशिश करने का फैसला किया। कई प्रशिक्षण दिनों का परिणाम एक सारांश था जिसमें एक सरल अनुप्रयोग बनाया गया है, लेकिन चूंकि एक विस्तृत ट्यूटोरियल पहले से ही हब पर मौजूद है , मैंने केवल चार उपकरणों के बारे में लिखने का फैसला किया जो विकास में उपयोगी होंगे और जो किसी कारण से ट्यूटोरियल में उल्लिखित नहीं हैं:



  1. लारवेल आईडीई हेल्पर जेनरेटर
  2. लारवेल 4 डिबगबर
  3. ठग
  4. रियासत


लारवेल आईडीई हेल्पर जेनरेटर



पहली बार लारवेल को स्थापित करने और अपनी पसंदीदा आईडीई खोलने से, आपको एक झटका का अनुभव होगा (ठीक है, मैं निश्चित रूप से चौंक गया था, शायद आप मजबूत होंगे) - अपने facades के लिए ऑटो-पूर्ण और आपके मॉडल काम नहीं करेंगे। आपका कोड कुछ इस तरह दिखाई देगा:







बेशक, आप अपने कोड में facades को पूरी तरह से छोड़ सकते हैं, लेकिन ऐसा कोई कट्टरपंथी समाधान भी नहीं है - लारवेल आईडीई हेल्पर जनरेटर । यह एक ऐसा पैकेज है, जो आपके एप्लिकेशन में उपयोग किए गए कोड के आधार पर, एक हेल्पर फ़ाइल उत्पन्न करता है जिसमें जनरेट किए गए स्थिर मुखौटा वर्ग होते हैं। आवेदन द्वारा किसी भी तरह से कक्षाओं का उपयोग नहीं किया जाता है, लेकिन केवल आईडीई पूरा करने के लिए आवश्यक हैं।



स्थापना


संगीतकार के माध्यम से स्थापित करें



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





app/config/app.php



में प्रदाताओं के सरणी में एक नया सेवा प्रदाता जोड़ें:



 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider'
      
      





अब आप facades के लिए एक फ़ाइल सहायक उत्पन्न कर सकते हैं



 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



फ़ाइल के लिए डॉक ब्लॉक जोड़ने के लिए संकेत देगा। मैं मॉडल में जोड़ना पसंद करता हूं, लेकिन यह स्वाद की बात है


लारवेल 4 डिबगबर



Laravel Debugbar एक पैकेज है जो PHP Debug Bar के ढांचे में एकीकृत होता है।

एक बहुत ही सुविधाजनक उपकरण जो आपको कोड को नियंत्रित और डीबग करने की अनुमति देता है। आप हमेशा इस बात से अवगत होंगे कि कितने अनुरोध आए (यदि आप अचानक जोड़ना भूल गए ::with('smth')



), उन्होंने कितना समय लिया, लॉग को क्या लिखा गया था, तो आप वर्तमान उपयोगकर्ता के बारे में जानकारी देख सकते हैं कि पेज बनाने के लिए किस प्रकार का उपयोग किया गया था, जो डेटा उनके लिए स्थानांतरित कर दिया गया था और बहुत कुछ। इसके अलावा, किसी भी समय आप पिछले अनुरोधों के बारे में जानकारी देख सकते हैं, भले ही पुनर्निर्देशित हुआ हो।



यह एक खुला डिबगबार जैसा दिखता है:







डिबगबर निम्नलिखित जानकारी दिखा सकता है (मानक PHP डीबग बार संग्राहकों के अलावा, कुछ कस्टम इसमें शामिल हैं):







वैसे, लारवेल 4.2.2 में , व्हॉट्स को फ्रेमवर्क से हटा दिया गया था (यह डेवलपर्स के लिए सबसे सुंदर त्रुटि पृष्ठ है), अब यह सिम्फनीडिसप्लेयर का उपयोग करता है, जो बस स्टैक ट्रेस दिखाता है। यदि आप क्वेरी पैरामीटर और अधिक देखने के लिए उपयोग किए जाते हैं, तो लारवेल देबगबर आपको इस परिवर्तन से शांति से बचने में मदद करेगा। यह काम करता है, ज़ाहिर है, केवल debug



मोड में।



स्थापना


 composer require barryvdh/laravel-debugbar:dev-master
      
      





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 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;
      
      







रियासत



लारवेल 4.2 में, हमें होमस्टेड से परिचित कराया गया था - एक वैग्रेंट बॉक्स (एक आभासी मशीन की छवि), जिसमें लारवेल पर विकास के लिए आपको जो कुछ भी चाहिए वह सब कुछ है (और न केवल, अंततः, यह सिर्फ एक आभासी मशीन है)। मुझे लगता है कि यह बहुत अच्छा है कि लोकप्रिय ढांचे ने हमें आधिकारिक मुक्केबाजी के साथ प्रस्तुत किया। मुझे आशा है कि यह सामान्य रूप से डेवलपर्स के लिए लिनक्स को लोकप्रिय बनाने में मदद करता है। और कई नौसिखिए डेवलपर्स जो विंडोज का उपयोग करते हैं और डेनवर या कुछ इसी तरह बैठना शुरू करने की कोशिश करते हैं, लिनक्स की कोशिश कर रहे हैं (और एक आवारा के साथ - यह बिल्कुल भी मुश्किल नहीं है), वे एक पेशेवर और मुकाबला पर्यावरण के करीब विकास का संचालन करेंगे। इसलिए, आगे मैं विंडोज पर होमस्टेड को स्थापित करने पर अधिक ध्यान दूंगा, और मुझे उम्मीद है कि मैं दुनिया को थोड़ा बेहतर बनाऊंगा।



होमस्टेड आपके ऑपरेटिंग सिस्टम या आपके सहकर्मी के ऑपरेटिंग सिस्टम, संस्करणों या विकास के लिए आवश्यक सॉफ़्टवेयर की उपलब्धता के बारे में सोचने की आवश्यकता को समाप्त करता है।

यह आपको केवल एक कमांड की मदद से अपने विकास के वातावरण में नई साइटें जोड़ने की अनुमति देगा, और आपके "वास्तविक" सिस्टम के बीच कॉन्फ़िगरेशन में निर्दिष्ट किसी भी फ़ोल्डर को सिंक्रनाइज़ करेगा (हम इसे बाद में अतिथि सिस्टम कहेंगे) और वर्चुअल मशीन। यही है, आप अपने पसंदीदा संपादक का उपयोग करके अपने ऑपरेटिंग सिस्टम में कोड को संपादित करना जारी रख सकते हैं, और फाइलें स्वचालित रूप से वर्चुअल मशीन के साथ सिंक्रनाइज़ हो जाएंगी।



होमस्टेड में शामिल हैं:





स्थापना


सबसे पहले, Vagrant और VirtualBox स्थापित करें, इंस्टॉलर अनावश्यक प्रश्न नहीं पूछते हैं, इसलिए स्थापना दर्द रहित होगी।

योनि स्थापित करने के बाद, इंस्टॉलर आपको सिस्टम को पुनरारंभ करने के लिए कहेगा। रिबूट के दौरान, BIOS दर्ज करें और जांचें कि क्या आपने इंटेल वर्चुअलाइजेशन टेक्नोलॉजी (वीटी-एक्स, एएमडी-वी, को ईमानदार होने के लिए सक्षम किया है, मुझे यकीन नहीं है कि इसे विभिन्न प्रणालियों पर कैसे कहा जा सकता है), यदि नहीं, तो इसे चालू करें।



कंसोल खोलें, यदि आप विंडोज का उपयोग करते हैं, तो गिट बैश खोलें (और अगर यह स्थापित नहीं है, तो इसे स्थापित करें ), हमें अभी भी इसकी आवश्यकता होगी, ऐसा करके होमस्टेड बॉक्स जोड़ें:



 vagrant box add laravel/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



(Git Bash में विंडोज पर उपलब्ध) का उपयोग करके जेनरेट करें:



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





Homestead.yaml



में सार्वजनिक और निजी कुंजियाँ पंजीकृत करें।



उस फ़ोल्डर को इंगित करें जहां आपकी परियोजनाओं को अतिथि (आपकी) मशीन पर संग्रहीत किया जाएगा (या पहले से संग्रहीत) और आभासी एक पर संबंधित पथ।

उदाहरण के लिए, एक परीक्षण साइट फ़ोल्डर बनाएँ, परियोजना निर्देशिका में test



और इसमें फ़ाइल test/public/index.php



जोड़ें:



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





Homestead.yaml



इसे और वांछित पते के Homestead.yaml



पथ लिखें। नतीजतन, Homestead.yaml



(विंडोज के लिए) कुछ इस तरह दिखेगा:



 --- 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
      
      





इस सेटअप के पूरा होने पर, यह ध्यान देने योग्य है कि आपको सिस्टम को एक बार सेट करना होगा, भविष्य के काम में आपको इन चरणों को दोहराना नहीं होगा।



हम होमस्टेड निर्देशिका में निष्पादित करके शुरू करते हैं:



 vagrant up
      
      





योनि प्रारंभिक होने और वर्चुअल मशीन शुरू करने के बाद, आप परीक्षण पर जाकर इसके संचालन की जांच कर सकते हैं ।dev : 8000।



वह सब है। अब केवल एक चीज जिसे आपको काम करने की आवश्यकता है वह है vagrant up



कमांड।



के उपयोग


अतिथि मशीन पर निम्नलिखित पोर्ट आपके वर्चुअल मशीन पर पुनर्निर्देशित किए गए हैं:



एसएसएच: 2222 -> 22

HTTP: 8000 -> 80

MySQL: 33060 -> 3306

पोस्टग्रैज: 54320 -> 5432



यह है, आप कनेक्ट कर सकते हैं, उदाहरण के लिए, इस तरह से ग्राहक मशीन से mysql के लिए:



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





Postgresql और mysql के लिए उपयोगकर्ता नाम और पासवर्ड दोनों योनि / गुप्त और मूल / गुप्त हैं।



यदि आप अपने वर्चुअल मशीन के अंदर से डेटाबेस से कनेक्ट करते हैं, तो मानक पोर्ट का उपयोग करें।



Ssh के माध्यम से वर्चुअल मशीन में लॉग इन करें:



 vagrant ssh
      
      





सभी vagrant



कमांड को homestead



डायरेक्टरी से चलाया जाना चाहिए


नई साइटें जोड़ने के दो तरीके हैं:





इनमें से किसी भी विधि को जोड़ने के बाद, होस्ट फ़ाइल को अपडेट करना सुनिश्चित करें: 127.0.0.1 new.dev







वह सब है। अच्छा विकास किया है!



All Articles