लार्वेल में कस्टम हेल्पर फ़ंक्शन का उपयोग कैसे करें?

इस ट्यूटोरियल में, हम आपको दिखाएंगे कि Laravel में कस्टम ...

इस ट्यूटोरियल में, हम आपको दिखाएंगे कि Laravel में कस्टम हेल्पर फ़ंक्शन का उपयोग कैसे करें. एक सहायक कार्य एक कस्टम कार्य है जिसे आप अपने जीवन को आसान बनाने के लिए बनाते हैं. आप अपने एप्लिकेशन में सामान्य कार्यों को करने के लिए, या विशिष्ट कार्यों को करने में आसान बनाने के लिए एक सहायक फ़ंक्शन का उपयोग कर सकते हैं

जब आप एक सहायक कार्य बनाते हैं, तो आप इसे एक नाम और एक कार्य हस्ताक्षर देते हैं. फ़ंक्शन सिग्नेचर आवश्यकताओं का एक सेट है जो आपके फ़ंक्शन को पूरा करना चाहिए. नाम वैकल्पिक है, लेकिन जब आप यह याद रखना चाहते हैं कि फ़ंक्शन क्या करता है, तो यह मददगार होता है

अपने एप्लिकेशन में एक सहायक फ़ंक्शन का उपयोग करने के लिए, आपको पहले अपने एप्लिकेशन के नाम स्थान में सहायक फ़ंक्शन को शामिल करना होगा. ऐसा करने के लिए, आप शामिल फ़ंक्शन का उपयोग कर सकते हैं. शामिल फ़ंक्शन दो तर्क लेता है. उस फ़ाइल का नाम जिसे आप शामिल करना चाहते हैं, और फ़ाइल का पथ

अगला, आपको अपने एप्लिकेशन के कोड में फ़ंक्शन को शामिल करना होगा. ऐसा करने के लिए, आप उपयोग फ़ंक्शन का उपयोग कर सकते हैं. उपयोग फ़ंक्शन दो तर्क लेता है. फ़ंक्शन का नाम और फ़ंक्शन का पथ

अंत में, आपको फ़ंक्शन को कॉल करने की आवश्यकता है. ऐसा करने के लिए, आप कॉल फ़ंक्शन का उपयोग कर सकते हैं. कॉल फ़ंक्शन दो तर्क लेता है. फ़ंक्शन का नाम और फ़ंक्शन द्वारा अपेक्षित तर्क

इस ट्यूटोरियल में, हम आपको दिखाएंगे कि अपने Laravel एप्लिकेशन में एक नया उपयोगकर्ता खाता बनाने के लिए कस्टम हेल्पर फ़ंक्शन का उपयोग कैसे करें. उपयोगकर्ता खाता सहायक कार्य एक उपयोगकर्ता नाम और पासवर्ड इनपुट लेगा, और डेटाबेस में उपयोगकर्ता के लिए एक नया उपयोगकर्ता खाता बनाएगा

उपयोगकर्ता खाता सहायक फ़ंक्शन का उपयोग करने के लिए, पहले अपने एप्लिकेशन के नामस्थान में उपयोगकर्ता खाता सहायक फ़ंक्शन शामिल करें. ऐसा करने के लिए, आप शामिल फ़ंक्शन का उपयोग कर सकते हैं. शामिल फ़ंक्शन दो तर्क लेता है. उस फ़ाइल का नाम जिसे आप शामिल करना चाहते हैं, और फ़ाइल का पथ

अगला, आपको अपने एप्लिकेशन के कोड में उपयोगकर्ता खाता सहायक फ़ंक्शन शामिल करना होगा. ऐसा करने के लिए, आप उपयोग फ़ंक्शन का उपयोग कर सकते हैं. उपयोग फ़ंक्शन दो तर्क लेता है. फ़ंक्शन का नाम और फ़ंक्शन का पथ

अंत में, आपको उपयोगकर्ता खाता सहायक कार्य को कॉल करने की आवश्यकता है. ऐसा करने के लिए, आप कॉल फ़ंक्शन का उपयोग कर सकते हैं. कॉल फ़ंक्शन दो तर्क लेता है. फ़ंक्शन का नाम और फ़ंक्शन द्वारा अपेक्षित तर्क

इस ट्यूटोरियल में, हम आपको दिखाएंगे कि अपने Laravel एप्लिकेशन में एक नया उपयोगकर्ता खाता बनाने के लिए कस्टम हेल्पर फ़ंक्शन का उपयोग कैसे करें. यूजर अकाउंट हेल्पर फंक्शन यूजरनेम और पासवर्ड इनपुट लेगा

यह पैकेज सहायक फाइलें बनाता है जो आपके आईडीई को सटीक स्वत: पूर्णता प्रदान करने की अनुमति देता है. क्‍योंकि जनरेशन आपके प्रोजेक्‍ट की फाइलों पर आधारित होता है, यह हमेशा अप टू डेट रहता है

यह Laravel 8 और PHP 7 के साथ संगत है. 3+

इंस्टालेशन

संगीतकार के साथ इस पैकेज की आवश्यकता के लिए निम्न आदेश का प्रयोग करें

composer require --dev barryvdh/laravel-ide-helper

यह पैकेज लारवेल्स के पैकेज ऑटो-डिस्कवरी मैकेनिज्म का उपयोग करता है, जिसका अर्थ है कि अगर उत्पादन में देव निर्भरता स्थापित नहीं की जाती है तो इसे लोड नहीं किया जाएगा।

यदि आपको किसी भी कारण से इसे मैन्युअल रूप से नियंत्रित करने की आवश्यकता है,

  • public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    2 में, पैकेज को
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    1 कुंजी में जोड़ें, उदा. g

    "extra": {
      "laravel": {
        "dont-discover": [
          "barryvdh/laravel-ide-helper"
        ]
      }
    }

  • public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    4 में, निम्न वर्ग को
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    3 सरणी में जोड़ें

    Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

    यदि आप इसे केवल गैर-उत्पादन परिवेशों में मैन्युअल रूप से लोड करना चाहते हैं, तो आप इसे अपने
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    5 में जोड़ने के लिए
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    6 विधि का उपयोग कर सकते हैं

    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }

टिप्पणी. आपके विकास परिवेश में कॉन्फ़िगरेशन को कैश करने से बचना चाहिए क्योंकि यह इस पैकेज को स्थापित करने के बाद समस्याएँ पैदा कर सकता है;

प्रयोग

ओवरव्यू/व्याख्या के लिए इस लैराकास्ट वीडियो को देखें

  • public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    8 -
  • public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }
    9 -
  • 130 -

टिप्पणी. Sublime Text के लिए CodeComplice की आवश्यकता होती है. HTTPS के. // जीथब. कॉम/चश्मा/CodeComplice

Laravel Facades के लिए PHPDoc पीढ़ी स्वचालित है

अब आप स्वयं दस्तावेज तैयार कर सकते हैं (भविष्य के अपडेट के लिए)

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
3

टिप्पणी. क्योंकि

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
31 को पहले साफ़ किया जाना चाहिए, जनरेट करने से पहले
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
32 चलाएँ

यह फ़ाइल

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
33 बनाएगा, जिसे स्वतः पूर्ण करने के लिए आपके IDE द्वारा आगे पार्स किए जाने की उम्मीद है. आप कॉन्फ़िग का उपयोग करके इसका नाम बदल सकते हैं
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
34

हर बार आपकी निर्भरता अपडेट होने पर आप ऐसा करने के लिए अपना

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
2 सेट कर सकते हैं

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
0

कार्यान्वयन को बदलने के लिए आप कॉन्फ़िगरेशन फ़ाइल को भी प्रकाशित कर सकते हैं (उदा. g. एक विशिष्ट वर्ग के लिए इंटरफ़ेस) या

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
36 डिफ़ॉल्ट सेट करें

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
2

जनरेटर वास्तविक वर्ग की पहचान करने का प्रयास करता है, लेकिन यदि यह नहीं मिलता है, तो आप इसे कॉन्फ़िगरेशन फ़ाइल में परिभाषित कर सकते हैं

कुछ वर्गों को कार्यात्मक डेटाबेस कनेक्शन की आवश्यकता होती है. यदि आपके पास डिफॉल्ट वर्किंग कनेक्शन नहीं है तो कुछ पहलुओं को बाहर कर दिया जाएगा.

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
37 विकल्प को शामिल करके, आप इन-मेमोरी SQLite ड्राइवर का उपयोग कर सकते हैं

आपके पास सहायक फाइलों को शामिल करने का विकल्प है. यह डिफ़ॉल्ट रूप से सक्षम नहीं है, लेकिन इसे

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
38 विकल्प का उपयोग करके अक्षम किया जा सकता है. __
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
39 पहले से ही कॉन्फ़िगर किया गया है, लेकिन आप कॉन्फ़िगरेशन फ़ाइल से फ़ाइलें जोड़/हटा सकते हैं

मैक्रोज़ और मिक्सिन्स के लिए PHPDoc पीढ़ी स्वचालित है

यह पैकेज मैक्रोज़ और मिक्सिन्स के लिए PHPDocs उत्पन्न कर सकता है और उन्हें

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
33 फ़ाइल में जोड़ सकता है

हालाँकि, यह तभी काम करता है जब मैक्रो घोषित करते समय टाइप हिंटिंग का उपयोग किया जाता है

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
7

मॉडल के लिए स्वचालित PHPDocs

यदि आप अपनी खुद की प्रॉपर्टी नहीं लिखना चाहते हैं तो टेबल कॉलम, रिलेशंस और गेटर्स/सेटर्स के आधार पर PHPDocs जेनरेट करने के लिए आप

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
9 कमांड का उपयोग कर सकते हैं।

टिप्पणी. प्रत्येक मॉडल की तालिका का निरीक्षण करने के लिए, इस कमांड को एक कार्यशील डेटाबेस कनेक्शन की आवश्यकता होती है

आपको डिफ़ॉल्ट रूप से अधिलेखित करने या एक अलग फ़ाइल में लिखने के लिए कहा जाता है (

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
02). आप या तो सीधे अपनी मॉडल फ़ाइल में टिप्पणी को
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
03 विकल्प के साथ लिख सकते हैं, या उन्हें
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
04 विकल्प के साथ न लिखने के लिए बाध्य कर सकते हैं

वैकल्पिक रूप से,

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
05 का उपयोग करने से आपकी मॉडल फ़ाइल में केवल एक मिक्सिन टैग जुड़ जाएगा, शेष (
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
02) में लिखा जाएगा. आईडीई डुप्लीकेट की परेशानी से बचने के लिए कक्षा का नाम मॉडल के नाम से अलग होगा

जानकारी दर्ज करने से पहले कृपया अपने मॉडलों का बैकअप बना लें

मॉडल संपादित करते समय, मौजूदा टिप्पणियाँ रखें और केवल नए गुण/विधियाँ जोड़ें. यदि मौजूदा PHPDoc नहीं मिल पाता है, तो इसे बदल दिया जाता है या जोड़ा जाता है.

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
07 विकल्प का उपयोग करते समय मौजूदा PHPDocs को अनदेखा कर दिया जाता है, और केवल नए खोजे गए कॉलम/संबंधों को PHPDocs के रूप में सहेजा जाता है

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
5

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
6

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
05 विकल्प के साथ

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
0

मॉडल निर्देशिकाएँ

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
09 में मॉडल डिफ़ॉल्ट रूप से स्कैन किए जाते हैं. वैकल्पिक तर्क निर्दिष्ट करता है कि कौन से मॉडल का उपयोग करना है (ऐप/मॉडल के बाहर भी)

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
1

आप

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
20 (आधार पथ के सापेक्ष) निर्दिष्ट करके एक अलग निर्देशिका को भी स्कैन कर सकते हैं

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
2

आप कॉन्फ़िगरेशन फ़ाइल (

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
21) को सार्वजनिक कर सकते हैं और डिफ़ॉल्ट निर्देशिका सेट कर सकते हैं

मॉडलों की उपेक्षा करें

122 का चयन करके मॉडल को अनदेखा किया जा सकता है

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
3

वैकल्पिक रूप से,

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
23 कॉन्फ़िगरेशन को अनदेखा किया जा सकता है

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
4

जादू
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
24 तरीके

एलोकेंट आपको अपने मॉडलों पर

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
25 कॉल करने की अनुमति देता है, उदा. g. g.
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
26 और इसे स्वचालित रूप से ई में परिवर्तित कर देता है. g. ______127

यदि आप उन्हें उत्पन्न नहीं करना चाहते हैं (प्रत्येक कॉलम के लिए एक), तो आप इसे

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
28 कॉन्फ़िगरेशन संपादित करके और इसे
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
29 में बदलकर अक्षम कर सकते हैं

जादू
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
70 गुण

आप वास्तव में उन्हें लोड किए बिना संबंध परिणामों की संख्या की गणना करने के लिए विधि का उपयोग कर सकते हैं. फिर इन परिणामों को

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
72 कन्वेंशन के अनुसार एट्रिब्यूट्स को असाइन किया जाता है

ये विशेषताएँ phpdoc में डिफ़ॉल्ट रूप से उत्पन्न होती हैं. आप कॉन्फ़िगरेशन

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
73 को
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
29 में बदलकर उन्हें अक्षम कर सकते हैं

समर्थन
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
75 डॉकब्लॉक पर आधारित है

आईडीई का बेहतर समर्थन करने के लिए संबंध और गेटर्स/सेटर्स टेबल कॉलम जैसी संपत्ति पर टिप्पणी भी जोड़ सकते हैं. परिणामस्वरूप, एक कस्टम डॉकब्लॉक

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
75 का उपयोग किया जाता है

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
5

समर्पित वाक्पटु बिल्डर तरीके

वाक्पटु मॉडल में अब

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
77 संदर्भ नामक एक नई विधि है, जो हमें मॉडल में स्थानीय दायरे का उपयोग करने के बजाय एक नया समर्पित वर्ग बनाने के लिए समर्थन जोड़ने की अनुमति देती है।

यदि आप उन्हें उत्पन्न नहीं करना चाहते हैं (प्रत्येक कॉलम के लिए एक), तो आप उन्हें

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
78 कॉन्फ़िगरेशन संपादित करके और मान को
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
29 में बदलकर अक्षम कर सकते हैं

असमर्थित या कस्टम डेटाबेस प्रकार

सामान्य स्तंभ प्रकार (ई. g. PHP प्रकार (varchar, पूर्णांक) सही ढंग से मैप किए गए हैं (____350,

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
51)

हालाँकि, आप अपने डेटाबेस में कस्टम कॉलम प्रकार का उपयोग करना चाह सकते हैं जैसे कि

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
52,
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
53,
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
54,
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
55, और इसी तरह. जिसके परिणामस्वरूप "अज्ञात डेटाबेस प्रकार" -अपवाद हो सकता है

आप कॉन्फ़िगरेशन

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
56 का उपयोग करके उन विशेष मामलों को मैप कर सकते हैं. उदाहरण

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
6

कस्टम संबंध प्रकार

यदि आप उन रिश्तों का उपयोग कर रहे हैं जो Laravel में निर्मित नहीं हैं, तो उचित पीढ़ी सुनिश्चित करने के लिए आपको कॉन्फ़िगरेशन में नाम और वापसी वर्ग निर्दिष्ट करना होगा

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
7

मिले रिश्ते आमतौर पर रिश्ते के नाम के आधार पर रिटर्न वैल्यू उत्पन्न करते हैं

यदि आपके कस्टम संबंध इस नामकरण परंपरा का पालन नहीं करते हैं, तो आप उनके रिटर्न प्रकार को मैन्युअल रूप से परिभाषित कर सकते हैं. दो विकल्प हैं.

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
57 और
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
58

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
8

मॉडल हुक

यदि आपको अपने मॉडल पर उन स्रोतों से अतिरिक्त जानकारी की आवश्यकता है जो डिफ़ॉल्ट रूप से नियंत्रित नहीं होते हैं, तो आप फ्लाई पर अतिरिक्त जानकारी जोड़ने के लिए मॉडल हुक का उपयोग कर सकते हैं. बस एक वर्ग बनाएं जो

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
59 को लागू करता है और इसे कॉन्फिग के
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
60 सरणी में जोड़ें

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
9

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
61 विधि को मॉडल निर्माण के दौरान कहा जाता है और वर्तमान चल रहे
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
62 और
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
63, ई को प्राप्त करता है. g

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
0

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
1

लारवेल फ्लुएंट मेथड्स 'PHPDocs स्वचालित रूप से उत्पन्न होते हैं

यदि, उदाहरण के लिए, आपको माइग्रेशन में फ़्लुएंट विधियों के लिए PHPDocs समर्थन की आवश्यकता है,

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
2

बस अपनी

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
65 फ़ाइल में
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
64 लाइन को आफ्टर पब्लिशिंग वेंडर में बदलें

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
3

फिर चलाएँ

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
8;

फैक्ट्री बिल्डरों के लिए स्वत: पूर्णता

यदि आप सही मॉडल वर्ग वापस करने के लिए

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
67 और
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
68 विधियाँ चाहते हैं, तो अपनी
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
65 फ़ाइल में
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
69 लाइन के साथ कस्टम फ़ैक्टरी बिल्डरों को सक्षम करें. Laravel 8 और बाद में बहिष्कृत

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
4

इसके काम करने के लिए आपको PhpStorm मेटा फ़ाइल (नीचे देखें) भी प्रकाशित करनी होगी

कंटेनर उदाहरणों के लिए PhpStorm मेटा

PhpStorm मेटा फ़ाइल बनाना संभव है जिसमें फ़ैक्टरी डिज़ाइन पैटर्न के लिए समर्थन शामिल है. Laravel के लिए, इसका मतलब है कि हम PhpStorm को उस वस्तु के प्रकार पर निर्देश दे सकते हैं जिसे हम IoC कंटेनर से हल कर रहे हैं. उदाहरण के लिए,

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
01 एक
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
02 ऑब्जेक्ट लौटाएगा, इसलिए आप मेटा फ़ाइल के साथ
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
03 को कॉल कर सकते हैं और यह डिस्पैचर विधियों को स्वत: पूर्ण कर देगा

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
5

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
6

टिप्पणी. आपको यह सुनिश्चित करने के लिए PhpStorm को पुनरारंभ करने की आवश्यकता हो सकती है कि

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
04 अनुक्रमित है

टिप्पणी. जब आपको घातक अपवाद प्राप्त होता है. अपने कॉन्फ़िगरेशन की जाँच करें (उदाहरण के लिए, यदि आपके पास S3 कॉन्फ़िगर नहीं है तो S3 को क्लाउड ड्राइवर के रूप में हटा दें). जब आप इसका उपयोग नहीं कर रहे हों तो Redis ServiceProvider को हटा दें. )

जनरेट किए गए फ़ाइल नाम को कॉन्फिगरेशन

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
05 का उपयोग करके बदला जा सकता है. यह उपयोगी है यदि आप निर्देशिका
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
06 के लिए PhpStorm के समर्थन का लाभ उठाना चाहते हैं. यदि आप PhpStorm को अतिरिक्त फाइलें प्रदान करना चाहते हैं, तो वहां रखी गई सभी फाइलों को पार्स कर दिया जाएगा

लुमेन के साथ प्रयोग

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

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
07 में स्थित हैं, कुछ संशोधनों की आवश्यकता है

अग्रभाग सक्षम करना

जबकि Laravel IDE हेल्पर कोड हिंटिंग के लिए डिफ़ॉल्ट Facades उत्पन्न कर सकता है, Lumen Facades सक्षम के साथ नहीं आता है. यदि आप उनका उपयोग करने का इरादा रखते हैं, तो आपको

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
08 अनुभाग में इस पंक्ति पर टिप्पणी हटाकर उन्हें सक्षम करना होगा

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
7

फिर आपको अपने एप्लिकेशन में अधिक फ़ेस जोड़ने के लिए

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
09 फ़ंक्शन का उपयोग करने में सक्षम होना चाहिए

सेवा प्रदाता को जोड़ना

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
10 में Laravel IDE हेल्पर इंस्टॉल करना और ऐप सर्विस प्रोवाइडर्स को पंजीकृत करने वाली लाइन को अनकमेंट करना इसे ठीक से लोड करने की अनुमति देगा

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
8

यदि आप उस लाइन का उपयोग नहीं कर रहे हैं, जो आम तौर पर कई Laravel/Lumen इंस्टॉलेशन को बेहतर ढंग से प्रबंधित करने के लिए उपयोगी है, तो आपको अपनी

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
07 फ़ाइल के
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
11 सेक्शन के तहत कोड की इस लाइन को जोड़ना होगा

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
9

उसके बाद, Laravel IDE हेल्पर को ठीक से काम करना चाहिए. जनरेशन प्रक्रिया के दौरान, स्क्रिप्ट यह संकेत देते हुए अपवाद फेंक सकती है कि कुछ वर्ग मौजूद नहीं हैं या कुछ इंडेक्स अपरिभाषित हैं. यह सामान्य है क्योंकि लुमेन में कुछ डिफ़ॉल्ट पैकेज हटा दिए गए हैं, जैसे कुकीज, स्टोरेज और सेशन. यदि आप इन पैकेजों को जोड़ना चाहते हैं, तो आपको ऐसा मैन्युअल रूप से करना होगा और अतिरिक्त फ़ेसडे बनाने की आवश्यकता हो सकती है

अतिरिक्त अग्रभाग जोड़ना

Lumen IDE हेल्पर वर्तमान में

"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
07 के तहत बनाए गए अतिरिक्त Facades को खाते में नहीं लेता है, इसलिए आपको
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
4 फ़ाइल बनानी होगी और अपने कस्टम उपनामों को
"extra": {
  "laravel": {
    "dont-discover": [
      "barryvdh/laravel-ide-helper"
    ]
  }
}
16 सरणी के तहत फिर से जोड़ना होगा, जैसा कि नीचे दिखाया गया है

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
0

यह अनुशंसा की जाती है (लेकिन आवश्यक नहीं है)

public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
4 का नाम बदलकर
public function register()
{
    if ($this->app->isLocal()) {
        $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
    }
    // ...
}
8 चलाने के बाद कुछ और करें, जब तक कि आपको डॉक्स को फिर से उत्पन्न करने की आवश्यकता न हो या उत्पादन वातावरण में जाने के बाद. लुमेन5. यदि यह फ़ाइल मौजूद है, तो 1 इसे कॉन्फ़िगरेशन पैरामीटर के लिए पढ़ेगा और यदि यह पूरी तरह से भरा हुआ है तो कुछ कॉन्फ़िगरेशन को ओवरलैप कर सकता है

मैं Laravel हेल्पर फ़ंक्शन का उपयोग कैसे करूं?

अधिक अपडेट प्राप्त करने के लिए मेरी प्रोफ़ाइल पर क्लिक करके मेरा अनुसरण करें. .
चरण 1. एक सहायक फ़ाइल बनाएँ. ऐप/डायरेक्टरी में हेल्पर्स नाम की एक फाइल बनाएं. पीएचपी
चरण 2. हेल्पर फंक्शन लिखिए
चरण 3. इसे हमारे संगीतकार में शामिल करें. json. .
चरण 4. ऐप की सभी कक्षाओं की सूची को रीफ्रेश करें. संगीतकार डंप-ऑटोलोड

Laravel Blade में, आप कस्टम हेल्पर फंक्शन को कैसे कॉल करते हैं?

वास्तविक दुनिया के उदाहरण के साथ Laravel कस्टम हेल्पर फ़ंक्शन .
एक लारवेल परियोजना बनाएँ. मुझे लगता है कि आप संगीतकार का उपयोग करके पहले ही लारवेल को स्थापित कर चुके हैं. .
कस्टम हेल्पर फ़ंक्शन बनाने के लिए, एक हेल्पर फ़ाइल बनाएँ. .
एक प्रदाता बनाएँ. .
Config में प्रदाता जोड़ें. .
नियंत्रक से कॉल करें. .
दृश्य से कॉल (ब्लेड)

आप Laravel 9 में हेल्पर फंक्शन कैसे लिखते हैं?

Laravel 9 कस्टम हेल्पर फंक्शन कैसे बनाएं .
चरण 1. सहायक बनाएँ. एफपी फ़ाइल. इस चरण में, हम ऐप/सहायक बनाएंगे. .
चरण 2. कंपोज़र में, एक सहायक फ़ाइल पथ जोड़ें. जसन फ़ाइल. कंपोजर में, नीचे दिए गए कोड को पेस्ट करें
चरण 3. चलाने के आदेश. अब अपने टर्मिनल में कंपोज़र डंप-ऑटोलोड कमांड चलाएँ

John Conner
John Conner
John Conner has written about blogger for more than 5 years and for congnghe123 since 2017

Member discussion

       

Related Posts