سنشرح لك في هذا الدرس كيفية استخدام دالة مساعدة مخصصة في Laravel. الوظيفة المساعدة هي وظيفة مخصصة تقوم بإنشائها لجعل حياتك أسهل. يمكنك استخدام وظيفة المساعد لأداء المهام الشائعة في تطبيقك ، أو لتسهيل أداء مهام معينة
عندما تقوم بإنشاء دالة مساعدة ، فإنك تعطيها اسمًا وتوقيعًا للوظيفة. توقيع الوظيفة هو مجموعة من المتطلبات التي يجب أن تفي بها وظيفتك. الاسم اختياري ، ولكنه مفيد عندما تريد تذكر وظيفة الوظيفة
لاستخدام وظيفة مساعد في تطبيقك ، تحتاج أولاً إلى تضمين وظيفة المساعد في مساحة اسم التطبيق الخاص بك. للقيام بذلك ، يمكنك استخدام وظيفة التضمين. تأخذ وظيفة التضمين وسيطين. اسم الملف الذي تريد تضمينه ومسار الملف
بعد ذلك ، تحتاج إلى تضمين الوظيفة في رمز التطبيق الخاص بك. للقيام بذلك ، يمكنك استخدام وظيفة الاستخدام. تأخذ وظيفة الاستخدام وسيطين. اسم الوظيفة والمسار إلى الوظيفة
أخيرًا ، تحتاج إلى استدعاء الوظيفة. للقيام بذلك ، يمكنك استخدام وظيفة الاتصال. تأخذ وظيفة الاستدعاء وسيطين. اسم الوظيفة ، والوسيطات التي تتوقعها الدالة
في هذا البرنامج التعليمي ، سنوضح لك كيفية استخدام وظيفة مساعد مخصصة لإنشاء حساب مستخدم جديد في تطبيق Laravel الخاص بك. ستأخذ وظيفة مساعد حساب المستخدم اسم مستخدم وكلمة مرور ، وستنشئ حساب مستخدم جديدًا للمستخدم في قاعدة البيانات
لاستخدام وظيفة مساعد حساب المستخدم ، قم أولاً بتضمين وظيفة مساعد حساب المستخدم في مساحة اسم التطبيق الخاص بك. للقيام بذلك ، يمكنك استخدام وظيفة التضمين. تأخذ وظيفة التضمين وسيطين. اسم الملف الذي تريد تضمينه ومسار الملف
بعد ذلك ، تحتاج إلى تضمين وظيفة مساعد حساب المستخدم في رمز التطبيق الخاص بك. للقيام بذلك ، يمكنك استخدام وظيفة الاستخدام. تأخذ وظيفة الاستخدام وسيطين. اسم الوظيفة والمسار إلى الوظيفة
أخيرًا ، تحتاج إلى استدعاء وظيفة مساعد حساب المستخدم. للقيام بذلك ، يمكنك استخدام وظيفة الاتصال. تأخذ وظيفة الاستدعاء وسيطين. اسم الوظيفة ، والوسيطات التي تتوقعها الدالة
في هذا البرنامج التعليمي ، سنوضح لك كيفية استخدام وظيفة مساعد مخصصة لإنشاء حساب مستخدم جديد في تطبيق Laravel الخاص بك. ستأخذ وظيفة مساعد حساب المستخدم إدخال اسم مستخدم وكلمة مرور تنشئ هذه الحزمة ملفات مساعدة تسمح لـ IDE الخاص بك بتقديم تكملة تلقائية دقيقة. نظرًا لأن الإنشاء يعتمد على الملفات الموجودة في مشروعك ، فإنه دائمًا ما يكون محدثًا وهو متوافق مع Laravel 8 و PHP 7. 3+ التركيباستخدم الأمر التالي لطلب هذه الحزمة مع الملحن composer require --dev barryvdh/laravel-ide-helper تستخدم هذه الحزمة آلية الاكتشاف التلقائي للحزمة في Laravels ، مما يعني أنه لن يتم تحميلها إذا لم يتم تثبيت تبعيات dev في الإنتاج إذا كنت تريد التحكم في هذا يدويًا لأي سبب من الأسباب ، - في
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 ، e. 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);
}
// ...
} 3Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, إذا كنت تريد فقط تحميله يدويًا في بيئات غير إنتاجية ، فيمكنك استخدام طريقة 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);
}
// ...
} 5public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
}
ملحوظة. يجب تجنب التخزين المؤقت للتكوين في بيئة التطوير الخاصة بك لأنه قد يتسبب في حدوث مشكلات بعد تثبيت هذه الحزمة ؛
إستعمالتحقق من فيديو Laracasts هذا للحصول على نظرة عامة / شرح 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 -public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
} 30 -
ملحوظة. يتطلب نص Sublime CodeComplice. https. // جيثب. كوم / نظارات / CodeComplice إنشاء PHPDoc لواجهات Laravel مؤتمتيمكنك الآن إنشاء الوثائق بنفسك (للتحديثات المستقبلية) 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);
}
// ...
} 36public 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);
}
// ...
} 7PHPDocs التلقائي للنماذجيمكنك استخدام الأمر public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
} 9 لإنشاء PHPDocs استنادًا إلى أعمدة الجدول والعلاقات والأرقام / المحددات إذا كنت لا تريد كتابة الخصائص الخاصة بكملحوظة. لفحص جدول كل نموذج ، يتطلب هذا الأمر اتصال قاعدة بيانات عامل
يُطلب منك الكتابة فوق ملف منفصل أو الكتابة إليه افتراضيًا ( 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 إلى إضافة علامة mixin إلى ملف النموذج الخاص بك ، مع كتابة الباقي باللغة (public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
} 02). سيكون اسم الفئة مميزًا عن اسم النموذج ، متجنبًا إزعاج تكرارات IDEيرجى عمل نسخة احتياطية من النماذج الخاصة بك قبل إدخال المعلومات
عند تحرير النماذج ، احتفظ بالتعليقات الموجودة وأضف خصائص / طرقًا جديدة فقط. إذا تعذر العثور على PHPDoc الحالي ، فسيتم استبداله أو إضافته. يتم تجاهل PHPDocs الحالية عند استخدام الخيار public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
} 07 ، ويتم حفظ الأعمدة / العلاقات المكتشفة حديثًا فقط كمحرر 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) عامًا وتعيين الدلائل الافتراضيةتجاهل النماذجيمكن تجاهل النماذج بتحديد public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
} 22"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 طريقةيسمح لك Eloquent بالاتصال بـ 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 ويحولها تلقائيًا إلى e. g. public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
} 27إذا كنت لا تريد إنشاءها (واحد لكل عمود) ، فيمكنك تعطيلها عن طريق تحرير التكوين 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 بناءً على DocBlockيمكن للعلاقات والمكتسبات / المحددات أيضًا إضافة تعليق إلى خاصية مثل أعمدة الجدول لدعم IDEs بشكل أفضل. نتيجة لذلك ، يتم استخدام docblock المخصص public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
} 75"extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 5أساليب Eloquent Builder المخصصةتمتلك نماذج Eloquent الآن طريقة جديدة تسمى public function register()
{
if ($this->app->isLocal()) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// ...
} 77 Reference ، والتي تتيح لنا إضافة دعم لإنشاء فئة مخصصة جديدة بدلاً من استخدام النطاقات المحلية في النموذج نفسهإذا كنت لا ترغب في إنشائها (واحد لكل عمود) ، يمكنك تعطيلها عن طريق تحرير التكوين 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 ، عدد صحيح) بشكل صحيح ( "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 50 ، "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 ، e. gBarryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 0Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 1يتم إنشاء PHPDocs تلقائيًا لطرق Laravel Fluentعلى سبيل المثال ، إذا كنت تحتاج إلى دعم PHPDocs لأساليب Fluent في الترحيل ، Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 2ما عليك سوى تغيير سطر "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 64 في ملف "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 65 الخاص بك إلى ما بعد نشر البائع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 Meta (انظر أدناه) حتى يعمل هذا من الممكن إنشاء ملف تعريف 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, 5Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 6ملحوظة. قد تحتاج إلى إعادة تشغيل PhpStorm للتأكد من فهرسة "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 04ملحوظة. عندما تتلقى FatalException. تحقق من التكوين الخاص بك (على سبيل المثال ، قم بإزالة S3 كبرنامج تشغيل سحابي إذا لم يكن لديك S3 مهيأ). قم بإزالة Redis ServiceProvider عند عدم استخدامه. )
يمكن تغيير اسم الملف الذي تم إنشاؤه باستخدام التكوين "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 05. هذا مفيد إذا كنت تريد الاستفادة من دعم PhpStorm للدليل "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 06. إذا كنت ترغب في تقديم ملفات إضافية إلى PhpStorm ، فسيتم تحليل جميع الملفات الموضوعة هناكالاستخدام مع Lumenهذه الحزمة مخصصة بشكل أساسي لتطوير Laravel ، ولكن يمكن استخدامها أيضًا في Lumen مع بعض التعديلات. نظرًا لأن Lumen يعمل بشكل مختلف عن Laravel وتقع معلمات التكوين الرئيسية بدلاً من ذلك في "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 07 ، فإن بعض التعديلات مطلوبةواجهات التمكينبينما يمكن لـ Laravel IDE Helper إنشاء واجهات افتراضية لتلميحات التعليمات البرمجية ، فإن Lumen لا يأتي مع واجهات ممكنة. إذا كنت تنوي استخدامها ، فيجب عليك تمكينها عن طريق إلغاء التعليق على هذا السطر في قسم "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 08Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 7يجب أن تكون قادرًا بعد ذلك على استخدام وظيفة "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 09 لإضافة المزيد من الواجهات إلى تطبيقكإضافة مقدم الخدمةتثبيت Laravel IDE Helper في "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 10 وإلغاء التعليق على السطر الذي يسجل مزودي خدمة التطبيق سيسمح له بالتحميل بشكل صحيحBarryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 8إذا كنت لا تستخدم هذا السطر ، والذي عادة ما يكون مفيدًا لإدارة عمليات تثبيت Laravel / Lumen المتعددة بأمان ، فستحتاج إلى إضافة هذا السطر من التعليمات البرمجية ضمن قسم "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 11 من ملف "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 07 الخاص بكBarryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 9بعد ذلك ، يجب أن يعمل مساعد Laravel IDE بشكل صحيح. أثناء عملية الإنشاء ، قد يطرح البرنامج النصي استثناءات تشير إلى عدم وجود بعض الفئات (الفئات) أو أن بعض الفهارس غير محددة. هذا أمر طبيعي لأن Lumen تمت إزالة بعض الحزم الافتراضية ، مثل ملفات تعريف الارتباط والتخزين والجلسة. إذا كنت ترغب في إضافة هذه الحزم ، يجب عليك القيام بذلك يدويًا وقد تحتاج إلى إنشاء واجهات إضافية إضافة واجهات إضافيةلا يأخذ Lumen IDE Helper حاليًا واجهات إضافية تم إنشاؤها بموجب "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 07 باستخدام "extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-ide-helper"
]
}
} 09 في الاعتبار ، لذلك يجب عليك إنشاء ملف 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 مع مثال من العالم الحقيقي . أنشئ مشروع Laravel. أفترض أنك قمت بالفعل بتثبيت Laravel باستخدام الملحن. . لإنشاء وظيفة مساعد مخصصة ، قم بإنشاء ملف مساعد. . قم بإنشاء موفر. . إضافة موفر إلى التكوين. . اتصل من المراقب. . الاتصال من العرض (بليد)
كيف تكتب دالة مساعدة في Laravel 9؟
كيفية إنشاء وظيفة مساعدة مخصصة لـ Laravel 9 . الخطوة 1. إنشاء مساعدين. ملف php. في هذه الخطوة ، سننشئ التطبيق / المساعدين. . الخطوة 2. في الملحن ، أضف مسار ملف مساعد. ملف json. في الملحن ، الصق الكود أدناه الخطوه 3. الأمر Run. قم بتشغيل أمر composer dump-autoload في جهازك الطرفي الآن |