احجز استشارة عبر الإنترنت

رؤية من المدونة

5 وظائف مساعد Laravel لتجعل حياتك أسهل

5 وظائف مساعدة من Laravel لتسهيل حياتك.يحتوي Laravel على عدد لا بأس به من الوظائف المساعدة لتسهيل الحياة اليومية للمبرمج. إذا كنت تبرمج في Laravel لفترة طويلة، فقد تلاحظ كيف أن مساعدي إطار العمل…

تاريخ النشر November 4, 2020
مدة القراءة 2 دقائق قراءة
التعليقات 0 تعليق
المشاهدات 2,684

اقرأ المقال

5 وظائف مساعد Laravel لتجعل حياتك أسهل

تفصيل المقال

5 وظائف مساعد Laravel لتجعل حياتك أسهل

استكشف المقال كاملاً ضمن تدفق قراءة منظم وفهرس محتويات.

5 وظائف مساعدة من Laravel لتسهيل حياتك.يحتوي Laravel على عدد لا بأس به من الوظائف المساعدة لتسهيل الحياة اليومية للمبرمج. إذا كنت تبرمج في Laravel لفترة طويلة، فقد تلاحظ كيف أن مساعدي إطار العمل يجعلون عمل المبرمج أكثر كفاءة وملاءمة.

في الواقع، هناك عدد غير قليل من الوظائف المساعدة، ولكن اليوم سأفكر في المفضلة. حسنًا، توقف عن إضاعة الكلمات، دعنا نلقي نظرة على مساعدي Laravel.

data_get ()

ينتمي هذا المساعد إلى فئة مساعدات مصفوفة laravel.

يتيح لك المساعد data_get() الحصول على البيانات من مصفوفة/كائن حسب المفتاح، بالتنسيق المألوف بالفعل – مع فصل المفاتيح بنقطة، كما هو الحال عند استدعاء طرق العرض view(‘admin.users.index’).

لنفكر في مثال المصفوفة الأصلية:

$data = [

    ‘المستخدمون’ => [

        [‘name’ => ‘أليكس’, ‘iq’ => 100500]،

        [‘name’ => ‘ديمتري’,’iq’ => 99]

    ]

];

المساعد data_get($data, $key)يأخذ وسيطتين رئيسيتين، حيث

البيانات هي المصفوفة أو الكائن الأصلي،

المفتاح هو المفتاح الذي نريد الحصول على البيانات من خلاله.

&نبسب;

ورغبتك في الحصول على اسم المستخدم الأول (من المصفوفة أعلاه)، يمكنك عكسه على هذا النحو، مع تحديد فهرس عنصر المصفوفة بشكل صريح:

data_get($data, ‘users.0.name’); //أليكس

أو للحصول على حقل iq جميع المستخدمين:، data_get($data, ‘users.*.iq’)الذي ينتج عنه مجموعة من الأرقام:

المصفوفة ( [0] => 100500 [1] => 99 )

لا شيء يمنعك من القيام بهياكل أكثر تعقيدًا، مع تداخل أكثر تعقيدًا.

* – يعني الحصول على المصفوفة بأكملها، وجميع العناصر

نحن نعمل مع الأشياء بنفس الطريقة:

$company = Company::with(‘reviews’)->findOrFail(1);

data_get($company, ‘reviews.*.review’); //Array ( [0] => كل شيء على ما يرام 🙂 [1] => كل شيء على ما يرام 🙂 [2] => كل شيء على ما يرام :))

ومن المهم أيضًا معرفة أن هذه الدالة تأخذ 3 وسيطات، والتي تشير إلى القيمة الافتراضية إذا لم يتم العثور على شيء:

data_get($data, ‘users.0.name’, ‘unknown’);

المساعد data_get() يسمح لك بعدم التفكير في نوع البيانات المصدر (هذه مصفوفة أو كائن)، ويسمح بمساعدة “السكر النحوي” بتحويل مسؤولية التحقق من النوع والبحث عن القيم ومعالجة الأخطاء إلى إطار العمل نفسه.

str_plural ()

إنه مساعد يسمح لك بتحويل سلسلة إلى صيغة الجمع. يساعد هذا المساعد في تحديد النهاية الصحيحة للكلمة، اعتمادًا على عدد جوهرها. كفكرة عامة، يجب أن يكتشف هذا المساعد تلقائيًا نهاية الكلمة:تفاحة: تفاحة واحدة، تفاحتان...

تأخذ الدالة وسيطتين، حيث يتم رفض الرقم، اعتمادًا على مقداره – هذا هو الرقم الذي يشير إلى جمع الرقم.str_plural($value, $count = 2)

قيمة $

عدد الدولارات

الآن، دعونا نتحقق من العمل على مثال الكلمة “تفاحة” :

echo str_plural(‘apple’, 2); //التفاح

echo str_plural(‘apple’, 1); //تفاحة

كما ترون من توقيع المساعد، فإن الوسيطة الثانية اختيارية. لذلك، مع الاستدعاء المعتاد لدالة ذات وسيط واحد، سنتلقى دائمًا صيغة الجمع (وهو ما يشير إليه اسم هذه الوظيفة الجمع – الجمع):

صدى str_plural(‘apple’); //التفاح

الدالة المعاكسة هي str_singular() التي تحول الجمع إلى المفرد:str_singular(‘apples’); //تفاحة

في الوقت الحالي، يتم دعم الترجمة باللغة الإنجليزية فقط.

المسار ()

يعد عنوان URL laravel هذا بمثابة مساعد يقوم بإنشاء عنوان حسب اسم المسار.

عند إنشاء عنوان حسب اسم المسارات، وتغيير أنماطها، لا يتعين عليك إعادة كتابة عناوين URL في الكود، حيث سيتم ربطها بأسمائها فقط.

دعونا نلقي نظرة على الطرق كمثال:

المسار::get(‘users’)->name(‘users’);

المسار::get(‘user/{id}’)->name(‘user’);

مسار الوظيفة () يأخذ 3 وسيطات (اسم $، $parameters = []، $absolute = true)

بمعرفة ذلك، سيكون من السهل إنشاء رابط حسب اسم المسار:

الطريق(‘المستخدمون’); // http://localhost/users

route(‘user’, 1); // http://localhost/user/1

route(‘user’, [‘id’ => 1]); // http://localhost/user/1

route(‘user’, User::find(1); // http://localhost/user/1

route(‘user’, [‘id’ => 1, ‘like’ => 1]); // http://localhost/user/1?like=1

يمكنك أن ترى أن هذا المساعد عالمي: فهو يقبل المعلمات كقيمة أولية، أو مصفوفة، أو حتى كائن. وبفضل هذا، يمكن تمرير الوسيطات الثانية ليس فقط معرفات المسار {id}، ولكن أيضًا المعلمات الإضافية التي ستتم إضافتها إلى عنوان URL .

والوسيطة الأخيرة والثالثة هي إنشاء المسار المطلق. إذا تم تمرير خطأ، فستكون المسارات مطلقة وستبدو بالشكل:/user/1

إذا تم تمرير كائن بليغ إلى المساعد باعتباره الوسيط الثاني، فسيتعرف عليه إطار العمل أيضًا وينشئ عنوان URL الصحيح. افتراضيًا، سيتم استبدال id(PRIMARY KEY) في مساره، ومع ذلك، يمكنك تجاوز ذلك في النموذج نفسه عن طريق إضافة طريقة لتحديد اسم الحقل الذي سيتم إنشاء المسار من خلاله

الوظيفة العامة getRouteKeyName()

{

    إرجاع “الاسم المستعار”؛

وسيكون عنوان URL بهذه البساطة:

route(‘user’, User::find(1)); // http://localhost/user/username

abort_if ()

يحتوي إطار العمل بالفعل على مساعد مشابه abort() الذي يطرح HttpExceptions . تأخذ الدالة وسيطتين رئيسيتين abort($code, $message = ”)، حيث

$code هو رمز استجابة http،

رسالة $ -.

وعند البرمجة باستخدام Laravel، غالبًا ما يتعين عليك استخدام بنيات مثل هذا:

if(!$user->isAdmin()) {

    إحباط(403, ?’);

    //abort(403);

من الجيد أن مطوري Laravel اهتموا بمثل هذا الشيء الصغير، وأنشأوا غلافًا فوق وظيفة الإجهاض ()، والذي يتم تبسيطه إلى:

abort_if(!$user->isAdmin(), 403, ‘А?’);

وكما هو الحال مع المساعد إحباط، تأخذ الوسيطة abort_iffirst شرطًا يتم بموجبه طرح الاستثناء.

abort_if(true, 404); // 

abort_if(false, 404); //

اختياري ()

يتيح لك هذا المساعد الوصول إلى خصائص أو أساليب الكائن الذي تم تمريره. المساعد الاختياري () يسمح لك باستدعاء أي خصائص للكائن، وتجاهل الأخطاء، حتى لو قمت بتمريرها بدلاً من كائن فارغ.

$advert = Advert::find(1);

$advert_parent = $advert->parent;

$parent = اختياري($advert_parent)->name;

// вместо

$parent = $advert->parent ? $advert->parent->name : null;

عند إجراء الاتصال، يبدو أنه إذا كان المتغير هو، فسوف نحصل على خطأ عند محاولة الحصول على الخاصية. ومع ذلك، داخليًا، تقوم هذه الوظيفة بالكثير من العمل الذي يسمح بإجراء مثل هذه الاستدعاءات دون القلق بشأن محتويات المتغير.Optional($advert_parent)->name$advert_parentnull

تعتبر هذه الوظيفة مثالية لاستدعاء تداخل البيانات في الكائنات، خاصة تلك المرتبطة في Eloquent، حيث لا تكون نتيجة البيانات المرتبطة واضحة دائمًا.

الملخص.

في هذه المقالة، عرضت لك 5 مساعدات أساسية من Laravel أستخدمها يوميًا والتي تجعل حياتي أسهل كثيرًا. ومع ذلك، فإن هذا ليس سوى جزء صغير مما يوفره الإطار.

أنصحك بالتعرف على جميع المساعدات المضمنة المتاحة، بالإضافة إلى استخدامها وتنفيذها بشكل نشط في التطوير.

الآن، بعد أن أتقنت هؤلاء المساعدين، أنا متأكد من أن حياتك أصبحت أسهل قليلا.

للحصول على خدمات احترافية أو استشارة من GCC Marketing Dubai يُرجى الاتصال بنا أو الاتصال بنا مباشرة على 00971567300683

تعرف على وكالة تسويق رقمي في دبي لتحقيق نتائج قابلة للقياس.

روابط مفيدة ذات صلة

يمكنك التوسع أكثر عبر: وكالة تسويق رقمي في دبي, خدمات التحول الرقمي لقطاع الصناعة البحرية والملاحة في دبي, خدمات التحول الرقمي للعقارات في دبي, خدمات تطوير التقنيات في دبي, شركة تطوير PHP Laravel في دبي.

كما ننصح بقراءة: تسويق تويتر دبي, أفضل وكالة تسويق رقمي للتوظيف من دبي لـ SEM & تحسين محركات البحث, هل يجب عليك إنشاء تطبيق أو موقع ويب للجوال أولاً؟, ما الوقت الذي يستغرقه إنشاء تطبيق جوال في عام 2025؟.

روابط مفيدة ذات صلة: اتصل بنا، شركة تطوير تطبيقات اندرويد في دبي.

Babar Iqbal (Senior Blog Writer)

عن الكاتب

Babar Iqbal (Senior Blog Writer)

فريق التحرير في GCC Marketing.

اترك تعليقاً

لن يتم نشر بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

دفع النمو الرقمي

سرّع التحول الرقمي لديك

تعاون مع GCC Marketing لتخطيط وتنفيذ وتوسيع المبادرات الرقمية التي تحقق نتائج أعمال قابلة للقياس.

تحدث معنا