الفرق بين المراجعتين لصفحة: «Laravel/helpers»

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
 
(31 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
== مقدمة ==
==مقدمة==
يتضمن [[Laravel]] عددًا من دوال [[PHP]] المساعدة. تُستعمل العديد من هذه الدوال من قبل [[Laravel]] لكن بامكانك استعمالها في تطبيقك اذا احتجتهم.
يتضمن [[Laravel]] عددًا من دوال [[PHP]] المساعدة. تُستعمل العديد من هذه الدوال من قبل [[Laravel]] لكن بامكانك استعمالها في تطبيقك اذا احتجتهم.
 
==قائمة التوابع==
== قائمة التوابع ==
===المصفوفات والكائنات===
 
====<code>()array_add</code>====
=== المصفوفات والكائنات ===
تضيف الدالة الثنائي مفتاح\قيمة الممرّر لمصفوفة إذا كان المفتاح غير موجود مسبقًا:<syntaxhighlight lang="php">
 
==== <code>()array_add</code> ====
تضيف الدالة <code>array_add</code> الثنائي مفتاح\قيمة الممرّر لمصفوفة إذا كان المفتاح غير موجود مسبقًا:<syntaxhighlight lang="php">
$array = array_add(['name' => 'Desk'], 'price', 100);
$array = array_add(['name' => 'Desk'], 'price', 100);


سطر 14: سطر 11:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_collapse</code>====
==== <code>()array_collapse</code> ====
تحول الدالة مصفوفة مصفوفات لمصفوفة واحدة:<syntaxhighlight lang="php">
تحول الدالة <code>array_collapse</code> مصفوفة مصفوفات لمصفوفة واحدة:<syntaxhighlight lang="php">
$array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);
$array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);


سطر 23: سطر 19:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_divide</code>====
==== <code>()array_divide</code> ====
تعيد الدالة مصفوفتين، واحدة تحتوي المفاتيح وأخرى تحتوي القيم من المصفوفة الممرّرة:<syntaxhighlight lang="php">
تعيد الدالة <code>array_divide</code> مصفوفتين، واحدة تحتوي المفاتيح وأخرى تحتوي القيم من المصفوفة الممرّرة:<syntaxhighlight lang="php">
[$keys, $values] = array_divide(['name' => 'Desk']);
[$keys, $values] = array_divide(['name' => 'Desk']);


سطر 34: سطر 29:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_dot</code>====
==== <code>()array_dot</code> ====
تسطّح الدالة مصفوفة متعددة الأبعاد لمصفوفة ببعد واحد تستعمل رمز النقطة لبيان العمق:<syntaxhighlight lang="php">
تسطّح الدالة <code>array_dot</code> مصفوفة متعددة الأبعاد لمصفوفة ببعد واحد تستعمل رمز النقطة لبيان العمق:<syntaxhighlight lang="php">
$array = ['products' => ['desk' => ['price' => 100]]];
$array = ['products' => ['desk' => ['price' => 100]]];


سطر 45: سطر 39:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_except</code>====
==== <code>()array_except</code> ====
تحذف الدالة الثنائي مفتاح\قيمة الممرّر من المصفوفة:<syntaxhighlight lang="php">
تحذف الدالة <code>array_except</code> الثنائي مفتاح\قيمة الممرّر من المصفوفة:<syntaxhighlight lang="php">
$array = ['name' => 'Desk', 'price' => 100];
$array = ['name' => 'Desk', 'price' => 100];


سطر 56: سطر 49:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_first</code>====
==== <code>()array_first</code> ====
تعيد الدالة العنصر الأول من المصفوفة الممرّرة الذي يستجيب لشرط صحّة:<syntaxhighlight lang="php">
تعيد الدالة <code>array_first</code> العنصر الأول من المصفوفة الممرّرة الذي يستجيب لشرط صحّة:<syntaxhighlight lang="php">
$array = [100, 200, 300];
$array = [100, 200, 300];


سطر 71: سطر 63:
$first = array_first($array, $callback, $default);
$first = array_first($array, $callback, $default);
</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_flatten</code>====
==== <code>()array_flatten</code> ====
تسطِّح الدالة مصفوفة متعدّدة الأبعاد لمصفوفة ببعد واحد:<syntaxhighlight lang="php">
تسطِّح الدالة <code>array_flatten</code> مصفوفة متعدّدة الأبعاد لمصفوفة ببعد واحد:<syntaxhighlight lang="php">
$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];
$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];


سطر 82: سطر 73:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_forget</code>====
==== <code>()array_forget</code> ====
تحذف الدالة الثنائي مفتاح\قيمة من مصفوفة متداخلة باستعمال رمز" النقطة ":<syntaxhighlight lang="php">
تحذف الدالة <code>array_forget</code> الثنائي مفتاح\قيمة من مصفوفة متداخلة باستعمال رمز" النقطة ":<syntaxhighlight lang="php">
$array = ['products' => ['desk' => ['price' => 100]]];
$array = ['products' => ['desk' => ['price' => 100]]];


سطر 93: سطر 83:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_get</code>====
==== <code>()array_get</code> ====
تسترجع الدالة قيمة من مصفوفة متداخلة باستعمال رمز "النقطة":<syntaxhighlight lang="php">
تسترجع الدالة <code>array_get</code> قيمة من مصفوفة متداخلة باستعمال رمز "النقطة":<syntaxhighlight lang="php">
$array = ['products' => ['desk' => ['price' => 100]]];
$array = ['products' => ['desk' => ['price' => 100]]];


سطر 110: سطر 99:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_has</code>====
==== <code>()array_has</code> ====
تتثبت الدالة من وجود عنصر أو عناصر ممرّرة في المصفوفة باستعمال الرمز "نقطة":<syntaxhighlight lang="php">
تتثبت الدالة <code>array_has</code> من وجود عنصر أو عناصر ممرّرة في المصفوفة باستعمال الرمز "نقطة":<syntaxhighlight lang="php">
$array = ['product' => ['name' => 'Desk', 'price' => 100]];
$array = ['product' => ['name' => 'Desk', 'price' => 100]];


سطر 125: سطر 113:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_last</code>====
==== <code>()array_last</code> ====
تعيد الدالة آخر عنصر يستجيب لشرط الصحّة:<syntaxhighlight lang="php">
تعيد الدالة <code>array_last</code> آخر عنصر يستجيب لشرط الصحّة:<syntaxhighlight lang="php">
$array = [100, 200, 300, 110];
$array = [100, 200, 300, 110];


سطر 140: سطر 127:
$last = array_last($array, $callback, $default);
$last = array_last($array, $callback, $default);
</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_only</code>====
==== <code>()array_only</code> ====
تعبد الدالة فقط الثنائيات الممرّرة من المصفوفة:<syntaxhighlight lang="php">
تعبد الدالة <code>array_only</code> فقط الثنائيات الممرّرة من المصفوفة:<syntaxhighlight lang="php">
$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];
$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];


سطر 151: سطر 137:


</syntaxhighlight>
</syntaxhighlight>
 
====<code>()array_pluck</code>====
==== <code>()array_pluck</code> ====
تستعيد الدالة كل القيم لمفتاح ممرّر من المصفوفة:<syntaxhighlight lang="php">
تستعيد الدالة <code>array_pluck</code> كل القيم لمفتاح ممرّر من المصفوفة:<syntaxhighlight lang="php">
$array = [
$array = [
  ['developer' => ['id' => 1, 'name' => 'Taylor']],
  ['developer' => ['id' => 1, 'name' => 'Taylor']],
سطر 170: سطر 155:




</syntaxhighlight>()array_prepend
</syntaxhighlight>
 
====<code>()array_prepend</code>====
تضبف الدالة array_prepend عنصرًا في أول المصفوفة:
تضبف الدالة عنصرًا في أول المصفوفة:<syntaxhighlight lang="php">
 
$array = ['one', 'two', 'three', 'four'];
$array = ['one', 'two', 'three', 'four'];


سطر 180: سطر 164:
// ['zero', 'one', 'two', 'three', 'four']
// ['zero', 'one', 'two', 'three', 'four']


عند الحاجة، بإمكانك تحديد المفتاح الذي يجب استعماله مع القيمة:


</syntaxhighlight>عند الحاجة، بإمكانك تحديد المفتاح الذي يجب استعماله مع القيمة:<syntaxhighlight lang="php">
$array = ['price' => 100];
$array = ['price' => 100];


سطر 188: سطر 172:
// ['name' => 'Desk', 'price' => 100]
// ['name' => 'Desk', 'price' => 100]


()array_pull
تعيد الدالة array_pull وتحذف ثنائي مفتاح\قيمة من المصفوفة:


</syntaxhighlight>
====<code>()array_pull</code>====
تعيد الدالة وتحذف ثنائي مفتاح\قيمة من المصفوفة:<syntaxhighlight lang="php">
$array = ['name' => 'Desk', 'price' => 100];
$array = ['name' => 'Desk', 'price' => 100];


سطر 200: سطر 184:
// $array: ['price' => 100]
// $array: ['price' => 100]


يمكن تمرير قيمة افتراضية كمعامل ثالث تعيده الدالة في حال عدم وجود المفتاح:


</syntaxhighlight>يمكن تمرير قيمة افتراضية كمعامل ثالث تعيده الدالة في حال عدم وجود المفتاح:<syntaxhighlight lang="php">
$value = array_pull($array, $key, $default);
$value = array_pull($array, $key, $default);
 
</syntaxhighlight>
()array_random
====<code>()array_random</code>====
 
تعيد الدالة قيمة عشوائية من المصفوفة:<syntaxhighlight lang="php">
تعيد الدالة array_random قيمة عشوائية من المصفوفة:
 
$array = [1, 2, 3, 4, 5];
$array = [1, 2, 3, 4, 5];


سطر 214: سطر 196:
// 4 - (اختيرت بعشوائية)
// 4 - (اختيرت بعشوائية)


يمكن أيضًا تحديد عدد العناصر الذي يجب إعادته كمعامل ثاني اختياري.لاحظ أن هذا الخيار سيعيد مصفوفة حتو لو اخترت عنصرًا واحدًا:


</syntaxhighlight>يمكن أيضًا تحديد عدد العناصر الذي يجب إعادته كمعامل ثاني اختياري.لاحظ أن هذا الخيار سيعيد مصفوفة حتو لو اخترت عنصرًا واحدًا:<syntaxhighlight lang="php">
$items = array_random($array, 2);
$items = array_random($array, 2);


// [2, 5] - (retrieved randomly)
// [2, 5] - (retrieved randomly)


()array_set
تعيّن الدالة array_set قيمة في مصفوفة متداخلة باستعمال الرمز "نقطة":


</syntaxhighlight>
====<code>()array_set</code>====
تعيّن الدالة قيمة في مصفوفة متداخلة باستعمال الرمز "نقطة":<syntaxhighlight lang="php">
$array = ['products' => ['desk' => ['price' => 100]]];
$array = ['products' => ['desk' => ['price' => 100]]];


سطر 230: سطر 212:
// ['products' => ['desk' => ['price' => 200]]]
// ['products' => ['desk' => ['price' => 200]]]


()array_sort
ترتّب الدالة array_sort المصفوفة حسب القيم:


</syntaxhighlight>
====<code>()array_sort</code>====
ترتّب الدالة المصفوفة حسب القيم:<syntaxhighlight lang="php">
$array = ['Desk', 'Table', 'Chair'];
$array = ['Desk', 'Table', 'Chair'];


سطر 240: سطر 222:
// ['Chair', 'Desk', 'Table']
// ['Chair', 'Desk', 'Table']


يمكن أيضًا ترتيب مصفوفة حسب نتائج النطاق المغلق Closure:


</syntaxhighlight>يمكن أيضًا ترتيب مصفوفة حسب نتائج النطاق المغلق Closure:<syntaxhighlight lang="php">
$array = [
$array = [
   ['name' => 'Desk'],
    ['name' => 'Desk'],
 
    ['name' => 'Table'],
   ['name' => 'Table'],
    ['name' => 'Chair'],
 
   ['name' => 'Chair'],
];
];


$sorted = array_values(array_sort($array, function ($value) {
$sorted = array_values(array_sort($array, function ($value) {
   return $value['name'];
    return $value['name'];
}));
}));


/*
/*
   [
    [
 
        ['name' => 'Chair'],
       ['name' => 'Chair'],
        ['name' => 'Desk'],
 
        ['name' => 'Table'],
       ['name' => 'Desk'],
    ]
 
       ['name' => 'Table'],
 
   ]
*/
*/
()array_sort_recursive
</syntaxhighlight>
 
====<code>()array_sort_recursive</code>====
ترتّب الدالة array_sort_recursive المصفوفة مرتبة بشكل تكراري باستعمال الدالة sort:
ترتّب الدالة المصفوفة مرتبة بشكل تكراري باستعمال الدالة <code>sort</code>:<syntaxhighlight lang="php">
 
$array = [
$array = [
   ['Roman', 'Taylor', 'Li'],
    ['Roman', 'Taylor', 'Li'],
 
    ['PHP', 'Ruby', 'JavaScript'],
   ['PHP', 'Ruby', 'JavaScript'],
];
];


سطر 278: سطر 252:


/*
/*
   [
    [
 
        ['Li', 'Roman', 'Taylor'],
       ['Li', 'Roman', 'Taylor'],
        ['JavaScript', 'PHP', 'Ruby'],
 
    ]
       ['JavaScript', 'PHP', 'Ruby'],
 
   ]
*/
*/
()array_where
</syntaxhighlight>
 
====<code>()array_where</code>====
ترشح الدالة array_where المصفوفة باستعمال النطاق المغلق المعطى Closure:
ترشح الدالة المصفوفة باستعمال النطاق المغلق المعطى Closure:<syntaxhighlight lang="php">
 
$array = [100, '200', 300, '400', 500];
$array = [100, '200', 300, '400', 500];


$filtered = array_where($array, function ($value, $key) {
$filtered = array_where($array, function ($value, $key) {
   return is_string($value);
    return is_string($value);
});
});


// [1 => '200', 3 => '400']
// [1 => '200', 3 => '400']
 
</syntaxhighlight>
()array_wrap
====<code>()array_wrap</code>====
 
تغلف الدالة القيمة الممرّرة في مصفوفة. إذا كانت القيمة الممرّرة مصفوفة بالأصل فلن تتغير:<syntaxhighlight lang="php">
تغلف الدالة array_wrap القيمة الممرّرة في مصفوفة. إذا كانت القيمة الممرّرة مصفوفة بالأصل فلن تتغير:
 
$string = 'Laravel';
$string = 'Laravel';


سطر 308: سطر 276:
// ['Laravel']
// ['Laravel']


إذا كانت القيمة الممرّرة null، تعيد الدالة array_wrap مصفوفة فارغة:


</syntaxhighlight>إذا كانت القيمة الممرّرة <code>null</code>، تعيد الدالة <code>array_wrap</code> مصفوفة فارغة:<syntaxhighlight lang="php">
$nothing = null;
$nothing = null;


سطر 316: سطر 284:
// []
// []


()data_fill
تضبط الدالة data_fill  قيمة مفقودة بمصفوفة متداخلة أو بكائن باستعمال الرمز "نقطة":


</syntaxhighlight>
====<code>()data_fill</code>====
تضبط الدالة قيمة مفقودة بمصفوفة متداخلة أو بكائن باستعمال الرمز "نقطة":<syntaxhighlight lang="php">
$data = ['products' => ['desk' => ['price' => 100]]];
$data = ['products' => ['desk' => ['price' => 100]]];


سطر 330: سطر 298:
// ['products' => ['desk' => ['price' => 100, 'discount' => 10]]]
// ['products' => ['desk' => ['price' => 100, 'discount' => 10]]]


تقبل الدالة data_fill أيضًا الرمز "*" كمحرف بدل لرمز يملؤه الهدف بما يلائم:


</syntaxhighlight>تقبل الدالة أيضًا الرمز "*" كمحرف بدل لرمز يملؤه الهدف بما يلائم:<syntaxhighlight lang="php">
$data = [
$data = [
   'products' => [
       ['name' => 'Desk 1', 'price' => 100],
       ['name' => 'Desk 2'],


   ],
   'products' => [
       ['name' => 'Desk 1', 'price' => 100],
       ['name' => 'Desk 2'],
   ],
];
];


سطر 345: سطر 311:


/*
/*
   [


       'products' => [
   [
 
       'products' => [
           ['name' => 'Desk 1', 'price' => 100],
           ['name' => 'Desk 1', 'price' => 100],
 
           ['name' => 'Desk 2', 'price' => 200],
           ['name' => 'Desk 2', 'price' => 200],
       ],
 
   ]
       ],
 
   ]
*/
()data_get
 
تسترجع الدالة data_get قيمة من مصفوفة متداخلة أو كائن باستعمال الرمز "نقطة":


</syntaxhighlight>
====<code>()data_get</code>====
تسترجع الدالة قيمة من مصفوفة متداخلة أو كائن باستعمال الرمز "نقطة":<syntaxhighlight lang="php">
$data = ['products' => ['desk' => ['price' => 100]]];
$data = ['products' => ['desk' => ['price' => 100]]];


سطر 367: سطر 328:
// 100
// 100


تقبل الدالة أيضًا قيمة افتراضيّة تعيدها إذا لم تجد المفتاح في المصفوفة:


</syntaxhighlight>تقبل الدالة أيضًا قيمة افتراضيّة تعيدها إذا لم تجد المفتاح في المصفوفة:<syntaxhighlight lang="php">
$discount = data_get($data, 'products.desk.discount', 0);
$discount = data_get($data, 'products.desk.discount', 0);


// 0
// 0


()data_set
تضبط الدالة data_set قيمة في مصفوفة متداخلة أو كائن باستعمال الرمز "نقطة":


</syntaxhighlight>
====<code>()data_set</code>====
تضبط الدالة قيمة في مصفوفة متداخلة أو كائن باستعمال الرمز "نقطة":<syntaxhighlight lang="php">
$data = ['products' => ['desk' => ['price' => 100]]];
$data = ['products' => ['desk' => ['price' => 100]]];


سطر 383: سطر 344:
// ['products' => ['desk' => ['price' => 200]]]
// ['products' => ['desk' => ['price' => 200]]]


تقبل الدالة data_set أيضًا محرفات بديلة وتعوضها بما يلائم:


</syntaxhighlight>تقبل الدالة <code>data_set</code> أيضًا محرفات بديلة وتعوضها بما يلائم:<syntaxhighlight lang="php">
$data = [
$data = [
   'products' => [


       ['name' => 'Desk 1', 'price' => 100],
   'products' => [
 
       ['name' => 'Desk 1', 'price' => 100],
       ['name' => 'Desk 2', 'price' => 150],
       ['name' => 'Desk 2', 'price' => 150],
 
   ],
   ],
];
];


سطر 398: سطر 357:


/*
/*
   [


       'products' => [
   [
 
       'products' => [
           ['name' => 'Desk 1', 'price' => 200],
           ['name' => 'Desk 1', 'price' => 200],
 
           ['name' => 'Desk 2', 'price' => 200],
           ['name' => 'Desk 2', 'price' => 200],
       ],
 
   ]
       ],
 
   ]
*/
في العادة، تعاد كتابة القيم. إذا أردت تعيين قيمة غير موجودة، يمكنك تمرير القيمة false كمعامل ثالث:


</syntaxhighlight>في العادة، تعاد كتابة القيم. إذا أردت تعيين قيمة غير موجودة، يمكنك تمرير القيمة <code>false</code> كمعامل ثالث:<syntaxhighlight lang="php">
$data = ['products' => ['desk' => ['price' => 100]]];
$data = ['products' => ['desk' => ['price' => 100]]];


سطر 418: سطر 372:
// ['products' => ['desk' => ['price' => 100]]]
// ['products' => ['desk' => ['price' => 100]]]


()head
تعيد الدالة head()‎ العنصر الأول من مصفوفة ممرّرة:


</syntaxhighlight>
====<code>()head</code>====
تعيد الدالة العنصر الأول من مصفوفة ممرّرة:<syntaxhighlight lang="php">
$array = [100, 200, 300];
$array = [100, 200, 300];


سطر 428: سطر 382:
// 100
// 100


()last
تعيد الدالة last()‎ العنصر الأخير من المصفوفة الممرّرة:


</syntaxhighlight>
====<code>()last</code>====
تعيد الدالة العنصر الأخير من المصفوفة الممرّرة:<syntaxhighlight lang="php">
$array = [100, 200, 300];
$array = [100, 200, 300];


سطر 438: سطر 392:
// 300
// 300


المسارات
()app_path
تعيد الدالة app_path‎  المسار الكامل للدليل app. يمكن أيضًا استعمال الدالة لإنشاء مسار لملف موجود في دليل التطبيق:


</syntaxhighlight>
===المسارات===
====<code>()app_path</code>====
تعيد الدالة المسار الكامل للدليل app. يمكن أيضًا استعمال الدالة لإنشاء مسار لملف موجود في دليل التطبيق:<syntaxhighlight lang="php">
$path = app_path();
$path = app_path();


$path = app_path('Http/Controllers/Controller.php');
$path = app_path('Http/Controllers/Controller.php');


()base_path
تعيد الدالةbase_path ‎ مسارا لجذر التطبيق. يمكنك أيضًا استعمال الدالة لإنشاء مسار مؤهل بشكل كامل لملف تابع لدليل جذر التطبيق:


</syntaxhighlight>
====<code>()base_path</code>====
تعيد الدالة مسارا لجذر التطبيق. يمكنك أيضًا استعمال الدالة لإنشاء مسار مؤهل بشكل كامل لملف تابع لدليل جذر التطبيق:<syntaxhighlight lang="php">
$path = base_path();
$path = base_path();


$path = base_path('vendor/bin');
$path = base_path('vendor/bin');


()config_path
تعيد الدالة config_path()‎ المسار المؤهل بشكل كامل للدليل config. يمكنك استعمال الدالة لإنشاء مسار مؤهل بشكل كامل لملف معين في دليل الضبط:


</syntaxhighlight>
====<code>()config_path</code>====
تعيد الدالة‎ المسار المؤهل بشكل كامل للدليل config. يمكنك استعمال الدالة لإنشاء مسار مؤهل بشكل كامل لملف معين في دليل الضبط:<syntaxhighlight lang="php">
$path = config_path();
$path = config_path();


$path = config_path('app.php');
$path = config_path('app.php');


()data_path
تعيد الدالة data_path()‎ مسارا مؤهلا للدليل database. يمكن أيضًا استعمال الدالة لإنشاء مسار مؤهل لملف في دليل قاعدة البيانات:


</syntaxhighlight>
====<code>()data_path</code>====
تعيد الدالة مسارا مؤهلا للدليل database. يمكن أيضًا استعمال الدالة لإنشاء مسار مؤهل لملف في دليل قاعدة البيانات:<syntaxhighlight lang="php">
$path = database_path();
$path = database_path();


$path = database_path('factories/UserFactory.php');
$path = database_path('factories/UserFactory.php');


()mix
تعيد الدالة mix()‎ مسارا للملف Mix:


</syntaxhighlight>
====<code>()mix</code>====
تعيد الدالة مسارا للملف Mix:<syntaxhighlight lang="php">
$path = mix('css/app.css');
$path = mix('css/app.css');
 
</syntaxhighlight>
()public_path
====<code>()public_path</code>====
 
تعيد الدالة مسارًا مؤهلا للدليل public. يمكنك أيضًا استعمال الدالة لإنشاء مسارات مؤهلة لملفات في الدليل public:<syntaxhighlight lang="php">
تعيد الدالة public_path()‎ مسارًا مؤهلا للدليل public. يمكنك أيضًا استعمال الدالة لإنشاء مسارات مؤهلة لملفات في الدليل public:
 
$path = public_path();
$path = public_path();


$path = public_path('css/app.css');
$path = public_path('css/app.css');


()resource_path
تعيد الدالة resource_path()‎  مسارًا مؤهلا للدليل resources. يمكنك أيضًا استعمال الدالة لإنشاء مسار مؤهل لملف في الدليل resources:


</syntaxhighlight>
====<code>()resource_path</code>====
تعيد الدالة مسارًا مؤهلا للدليل resources. يمكنك أيضًا استعمال الدالة لإنشاء مسار مؤهل لملف في الدليل resources:<syntaxhighlight lang="php">
$path = resource_path();
$path = resource_path();


$path = resource_path('assets/sass/app.scss');
$path = resource_path('assets/sass/app.scss');


()storage_path
تعيد الدالة storage_path()‎ مسارًا مؤهلا للدليل storage. يمكن أيضًا استعمال الدالة لإنشاء مسارات مؤهلة لملف في الدليل storage:


</syntaxhighlight>
====<code>()storage_path</code>====
تعيد الدالة مسارًا مؤهلا للدليل storage. يمكن أيضًا استعمال الدالة لإنشاء مسارات مؤهلة لملف في الدليل storage:<syntaxhighlight lang="php">
$path = storage_path();
$path = storage_path();


$path = storage_path('app/file.txt');
$path = storage_path('app/file.txt');


السلاسل النصية
()__
تترجم الدالة __‎‎‎ سلسلة الترجمة أو مفتاح الترجمة باستعمال ملفات الترجمة في التطبيق:


</syntaxhighlight>
===السلاسل النصية===
====<code>()__</code>====
تترجم الدالة سلسلة الترجمة أو مفتاح الترجمة باستعمال ملفات الترجمة في التطبيق:<syntaxhighlight lang="php">
echo __('Welcome to our application');
echo __('Welcome to our application');


echo __('messages.welcome');
echo __('messages.welcome');


إذا لم توجد سلسلة أو مفتاح الترجمة، تعيد الدالة القيمة الممرّرة. لذا باستعمال المثال السابق، تعيد الدالة "message.welcome" في حال عدم وجود المفتاح.
()camel_case
تحوّل الدالة camel_case السلسلة لسلسلة منسقةً بحالة سِنَام الجمل:


</syntaxhighlight>إذا لم توجد سلسلة أو مفتاح الترجمة، تعيد الدالة القيمة الممرّرة. لذا باستعمال المثال السابق، تعيد الدالة "message.welcome" في حال عدم وجود المفتاح.
====<code>()camel_case</code>====
تحوّل الدالة السلسلة لسلسلة منسقةً بحالة سِنَام الجمل:<syntaxhighlight lang="php">
$converted = camel_case('foo_bar');
$converted = camel_case('foo_bar');


// fooBar
// fooBar


()class_basename
تعيد الدالة class_basename اسم الصنف للصنف الممرّر بعد حذف دليله:


</syntaxhighlight>
====<code>()class_basename</code>====
تعيد الدالة اسم الصنف للصنف الممرّر بعد حذف دليله:<syntaxhighlight lang="php">
$class = class_basename('Foo\Bar\Baz');
$class = class_basename('Foo\Bar\Baz');


// Baz
// Baz


()e
تنفذ الدالة e الدالة htmlspecialchars من PHP مع الخيار double_encode على القيمة true افتراضيًّا:


</syntaxhighlight>
====<code>()e</code>====
تنفذ الدالة الدالة <code>[[PHP/htmlspecialchars|htmlspecialchars]]</code> من [[PHP]] مع الخيار <code>double_encode</code> على القيمة <code>true</code> افتراضيًّا:<syntaxhighlight lang="php">
echo e('<html>foo</html>');
echo e('<html>foo</html>');


// &lt;html&gt;foo&lt;/html&gt;
// <html>foo</html>


()ends_with


تحدّد الدالة ends_with إذا كانت السلسلة تنتهي بالقيمة الممرّرة:


</syntaxhighlight>
====<code>()ends_with</code>====
تحدّد الدالة إذا كانت السلسلة تنتهي بالقيمة الممرّرة:<syntaxhighlight lang="php">
$result = ends_with('This is my name', 'name');
$result = ends_with('This is my name', 'name');


// true
// true


()kebab_case
تحول الدالة kebab_case السلسلة الممرّرة منسقةً بحالة kebab-case:


</syntaxhighlight>
====<code>()kebab_case</code>====
تحول الدالة السلسلة الممرّرة منسقةً بحالة kebab-case:<syntaxhighlight lang="php">
$converted = kebab_case('fooBar');
$converted = kebab_case('fooBar');


// foo-bar
// foo-bar


()preg_replace_array


تعوّض الدالة preg_replace_array الأسلوب الممرّر في السلسلة باستعمال مصفوفة:
</syntaxhighlight>
 
====<code>()preg_replace_array</code>====
$string = 'The event will take place between :start and :end';
تعوّض الدالة الأسلوب الممرّر في السلسلة باستعمال مصفوفة:<syntaxhighlight lang="php">
$string = 'The event will take place between :start and :end';


$replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string);
$replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string);
سطر 564: سطر 513:
// The event will take place between 8:30 and 9:00
// The event will take place between 8:30 and 9:00


()snake_case
تحول الدالة snake_case السلسلة الممرّرة منسقةً بحالة snake_case


</syntaxhighlight>
====<code>()snake_case</code>====
تحول الدالة السلسلة الممرّرة منسقةً بحالة snake_case:<syntaxhighlight lang="php">
$converted = snake_case('fooBar');
$converted = snake_case('fooBar');


// foo_bar
// foo_bar


()starts_with
تحدد الدالة start_with إذا كان السلسلة الممرّرة تبدأ بالقيمة الممررّة:


</syntaxhighlight>
====<code>()starts_with</code>====
تحدد الدالة إذا كان السلسلة الممرّرة تبدأ بالقيمة الممررّة:<syntaxhighlight lang="php">
$result = starts_with('This is my name', 'This');
$result = starts_with('This is my name', 'This');


// true
// true


()str_after
تعيد الدالة str_after كل شيء بعد السلسلة الممررة:


</syntaxhighlight>
====<code>()str_after</code>====
تعيد الدالة كل شيء بعد السلسلة الممررة:<syntaxhighlight lang="php">
$slice = str_after('This is my name', 'This is');
$slice = str_after('This is my name', 'This is');


// ' my name'
// ' my name'


()str_before
تعيد الدالة كل شيء قبل السلسلة الممررة


</syntaxhighlight>
====<code>()str_before</code>====
تعيد الدالة كل شيء قبل السلسلة الممررة:<syntaxhighlight lang="php">
$slice = str_before('This is my name', 'my name');
$slice = str_before('This is my name', 'my name');


// 'This is '
// 'This is '


()str_contains
تحدد الدالة str_contains إذا كانت السلسلة تحتوي القيمة الممرّرة (مع احترام الحروف الكبيرة والصغيرة):


</syntaxhighlight>
====<code>()str_contains</code>====
تحدد الدالة إذا كانت السلسلة تحتوي القيمة الممرّرة (مع احترام الحروف الكبيرة والصغيرة):<syntaxhighlight lang="php">
$contains = str_contains('This is my name', 'my');
$contains = str_contains('This is my name', 'my');


// true
// true


يمكنك تمرير مصفوفة من القيم لتحدد إذا كانت موجودة في السلسلة:


</syntaxhighlight>يمكنك تمرير مصفوفة من القيم لتحدد إذا كانت موجودة في السلسلة:<syntaxhighlight lang="php">
$contains = str_contains('This is my name', ['my', 'foo']);
$contains = str_contains('This is my name', ['my', 'foo']);


// true
// true


()str_finish
تضيف الدالة str_finish نسخةً واحدةً من قيمة ممرّرة لسلسلة إذا لم تكن السلسلة تنتهي بتلك القيمة:


</syntaxhighlight>
====<code>()str_finish</code>====
تضيف الدالة نسخةً واحدةً من قيمة ممرّرة لسلسلة إذا لم تكن السلسلة تنتهي بتلك القيمة:<syntaxhighlight lang="php">
$adjusted = str_finish('this/string', '/');
$adjusted = str_finish('this/string', '/');


سطر 622: سطر 571:
// this/string/
// this/string/


()str_is
تحدد الدالة str_is إذا كانت السلسلة مطابقة لأسلوب ممرّر. تُستعمل الرموز "*" للدلالة على محرف بدل:


</syntaxhighlight>
====<code>()str_is</code>====
تحدد الدالة إذا كانت السلسلة مطابقة لأسلوب ممرّر. تُستعمل الرموز "*" للدلالة على محرف بدل:<syntaxhighlight lang="php">
$matches = str_is('foo*', 'foobar');
$matches = str_is('foo*', 'foobar');


سطر 634: سطر 583:
// false
// false


()str_limit
تقطع الدالة str_limit السلسلة حسب الطول المحدد:


</syntaxhighlight>
====<code>()str_limit</code>====
تقطع الدالة السلسلة حسب الطول المحدد:<syntaxhighlight lang="php">
cated = str_limit('The quick brown fox jumps over the lazy dog', 20);
cated = str_limit('The quick brown fox jumps over the lazy dog', 20);


// The quick brown fox...
// The quick brown fox...


يمكنك تمرير معامل ثالث لتغيير السلسلة التي تضاف في الآخر:


</syntaxhighlight>يمكنك تمرير معامل ثالث لتغيير السلسلة التي تضاف في الآخر:<syntaxhighlight lang="php">
$truncated = str_limit('The quick brown fox jumps over the lazy dog', 20, ' (...)');
$truncated = str_limit('The quick brown fox jumps over the lazy dog', 20, ' (...)');


// The quick brown fox (...)
// The quick brown fox (...)


()Str::orderedUuid
تنشئ الدالة str::orderedUUid معرف فريد عالمي لبصمة وقت يمكن تخزينه في قاعدة بيانات:


</syntaxhighlight>
====<code>()Str::orderedUuid</code>====
تنشئ الدالة معرف فريد عالمي لبصمة وقت يمكن تخزينه في قاعدة بيانات:<syntaxhighlight lang="php">
use Illuminate\Support\Str;
use Illuminate\Support\Str;


return (string) Str::orderedUuid();
return (string) Str::orderedUuid();


()str_plural
تحول الدالة str_plural السلسلة لصيغة الجمع. تدعم هذه الدالة حاليا اللغة الإنقليزية فقط:


</syntaxhighlight>
====<code>()str_plural</code>====
تحول الدالة السلسلة لصيغة الجمع. تدعم هذه الدالة حاليا اللغة الإنقليزية فقط:<syntaxhighlight lang="php">
$plural = str_plural('car');
$plural = str_plural('car');


سطر 668: سطر 617:
// children
// children


يمكنك تمرير معامل ثاني للدالة  لاسترجاع صيغة المفرد أو الجمع للسلسلة:


</syntaxhighlight>يمكنك تمرير معامل ثاني للدالة  لاسترجاع صيغة المفرد أو الجمع للسلسلة:<syntaxhighlight lang="php">
$plural = str_plural('child', 2);
$plural = str_plural('child', 2);


سطر 678: سطر 627:
// child
// child


()str_random
تنشئ الدالة str_random سلسلة نصية عشوائية بالطول المحدد. تستخدم هذه الدالة الدالة random_bytes من PHP:


</syntaxhighlight>
====<code>()str_random</code>====
تنشئ الدالة سلسلة نصية عشوائية بالطول المحدد. تستخدم هذه الدالة الدالة [[php/random bytes|random_bytes]] من [[PHP]]:<syntaxhighlight lang="php">
$random = str_random(40);
$random = str_random(40);
 
</syntaxhighlight>
()str_replace_array
====<code>()str_replace_array</code>====
 
تستبدل الدالة القيمة الممرّرة من السلسلة النصية باستخدام مصفوفة:<syntaxhighlight lang="php">
تستبدل الدالة str_replace_array القيمة الممرّرة من السلسلة النصية باستخدام مصفوفة:
 
$string = 'The event will take place between ? and ?';
$string = 'The event will take place between ? and ?';


سطر 694: سطر 641:
// The event will take place between 8:30 and 9:00
// The event will take place between 8:30 and 9:00


()str_replace_first
تستبدل الدالة str_replace_first الظهور الأول للقيمة الممرّرة بسلسة نصية:


</syntaxhighlight>
====<code>()str_replace_first</code>====
تستبدل الدالة الظهور الأول للقيمة الممرّرة بسلسة نصية:<syntaxhighlight lang="php">
$replaced = str_replace_first('the', 'a', 'the quick brown fox jumps over the lazy dog');
$replaced = str_replace_first('the', 'a', 'the quick brown fox jumps over the lazy dog');


// a quick brown fox jumps over the lazy dog
// a quick brown fox jumps over the lazy dog


()str_replace_last
تستبدل الدالة str_replace_last الظهور الأخير للقيمة الممرّرة بسلسة نصية:


</syntaxhighlight>
====<code>()str_replace_last</code>====
تستبدل الدالة الظهور الأخير للقيمة الممرّرة بسلسة نصية:<syntaxhighlight lang="php">
$replaced = str_replace_last('the', 'a', 'the quick brown fox jumps over the lazy dog');
$replaced = str_replace_last('the', 'a', 'the quick brown fox jumps over the lazy dog');


// the quick brown fox jumps over a lazy dog
// the quick brown fox jumps over a lazy dog


()str_singular
تحوّل الدالة str_singular سلسلة نصية لصيغة المفرد. تدعم الدالة الآن فقط اللغة الإنقليزية:


</syntaxhighlight>
====<code>()str_singular</code>====
تحوّل الدالة سلسلة نصية لصيغة المفرد. تدعم الدالة الآن فقط اللغة الإنقليزية:<syntaxhighlight lang="php">
$replaced = str_replace_last('the', 'a', 'the quick brown fox jumps over the lazy dog');
$replaced = str_replace_last('the', 'a', 'the quick brown fox jumps over the lazy dog');


// the quick brown fox jumps over a lazy dog
// the quick brown fox jumps over a lazy dog


()str_slug
تنشئ الدالة str_slug قيمة "slug" يمكن استعمالها مع مسارات URL:


</syntaxhighlight>
====<code>()str_slug</code>====
تنشئ الدالة قيمة "slug" يمكن استعمالها مع مسارات URL:<syntaxhighlight lang="php">
$slug = str_slug('Laravel 5 Framework', '-');
$slug = str_slug('Laravel 5 Framework', '-');


// laravel-5-framework
// laravel-5-framework


()str_start
تضيف الدالة str_start نسخة واحدة من القيمة الممرّرة في أول السلسلة إذا لم تكن موجودة:


</syntaxhighlight>
====<code>()str_start</code>====
تضيف الدالة نسخة واحدة من القيمة الممرّرة في أول السلسلة إذا لم تكن موجودة:<syntaxhighlight lang="php">
$adjusted = str_start('this/string', '/');
$adjusted = str_start('this/string', '/');


سطر 738: سطر 685:
// /this/string
// /this/string


()studly_case
تحول الدالة studly_case السلسلة الممرّرة منسقةً بحالة StudlyCase:


</syntaxhighlight>
====<code>()studly_case</code>====
تحول الدالة السلسلة الممرّرة منسقةً بحالة StudlyCase:<syntaxhighlight lang="php">
$converted = studly_case('foo_bar');
$converted = studly_case('foo_bar');


// FooBar
// FooBar


()title_case
تحول الدالة title_case السلسلة الممرّرة منسقةً بحالة Title Case:


</syntaxhighlight>
====<code>()title_case</code>====
تحول الدالة السلسلة الممرّرة منسقةً بحالة Title Case:<syntaxhighlight lang="php">
$converted = title_case('a nice title uses the correct case');
$converted = title_case('a nice title uses the correct case');


// A Nice Title Uses The Correct Case
// A Nice Title Uses The Correct Case


()trans
تترجم الدالة trans مفتاح الترجمة الممرّر باستعمال ملفات التوطين:


</syntaxhighlight>
====<code>()trans</code>====
تترجم الدالة مفتاح الترجمة الممرّر باستعمال ملفات التوطين:<syntaxhighlight lang="php">
echo trans('messages.welcome');
echo trans('messages.welcome');
 
</syntaxhighlight>إذا لم يكن مفتاح الترجمة موجودًا، تعيد الدالة المفتاح الممرّر. لذا، في المثال السابق ستعيد الدالة message.welcome في حال لم يكن المفتاح موجودًا في ملف التوطين.
إذا لم يكن مفتاح الترجمة موجودًا، تعيد الدالة المفتاح الممرّر. لذا، في المثال السابق ستعيد الدالة message.welcome في حال لم يكن المفتاح موجودًا في ملف التوطين.
====<code>()trans_choice</code>====
 
تترجم الدالة السلسلة الممرّرة مع مع تصريف الكلمة حسب العدد المُمرَّر إلى الدالة (inflection):<syntaxhighlight lang="php">
()trans_choice
 
تترجم الدالة trans_choice السلسلة الممرّرة مع مع تصريف الكلمة حسب العدد المُمرَّر إلى الدالة (inflection):
 
echo trans_choice('messages.notifications', $unreadCount);
echo trans_choice('messages.notifications', $unreadCount);
 
</syntaxhighlight>إذا لم يكن مفتاح الترجمة موجودًا، تعيد الدالة المفتاح الممرّر. لذا، في المثال السابق ستعيد الدالة welcome.notifications في حال لم يكن المفتاح موجودًا.
إذا لم يكن مفتاح الترجمة موجودًا، تعيد الدالة المفتاح الممرّر. لذا، في المثال السابق ستعيد الدالة welcome.notifications في حال لم يكن المفتاح موجودًا.
====<code>()Str::uuid</code>====
 
تنشئ الدالة المعرف الفريد العالمي UUID (الإصدار 4):<syntaxhighlight lang="php">
()Str::uuid
 
تنشئ الدالة المعرف الفريد العالمي UUID (الإصدار 4):
 
use Illuminate\Support\Str;
use Illuminate\Support\Str;


return (string) Str::uuid();
return (string) Str::uuid();


العناوين URLs


()action
</syntaxhighlight>
 
===العناوين URLs===
تنشئ الدالة action عنوان URL لعمل وحدة التحكم. لا تحتاج لتمرير مجال الأسماء الكامل لوحدة التحكم. بدلًا من ذلك، مرّر اسم صنف وحدة التحكم نسبة لمجال الأسماء App\Http\Controllers:
====<code>()action</code>====
تنشئ الدالة عنوان URL لعمل وحدة التحكم. لا تحتاج لتمرير مجال الأسماء الكامل لوحدة التحكم. بدلًا من ذلك، مرّر اسم صنف وحدة التحكم نسبة لمجال الأسماء :<syntaxhighlight lang="php">
App\Http\Controllers:


$url = action('HomeController@index');
$url = action('HomeController@index');
سطر 788: سطر 728:
$url = action([HomeController::class, 'index']);
$url = action([HomeController::class, 'index']);


إذا كان التابع يقبل معاملات مسارات، يمكنك تمريرها كمعامل ثاني للدالة:


</syntaxhighlight>إذا كان التابع يقبل معاملات مسارات، يمكنك تمريرها كمعامل ثاني للدالة:<syntaxhighlight lang="php">
$url = action('UserController@profile', ['id' => 1]);
$url = action('UserController@profile', ['id' => 1]);
 
</syntaxhighlight>
()asset
====<code>()asset</code>====
 
تولّد الدالة عنوان URL للأصول باستخدام مخطط الطلب ( HTTP أو HTTPS):<syntaxhighlight lang="php">
تولّد الدالة asset عنوان URL للأصول باستخدام مخطط الطلب ( HTTP أو HTTPS):
 
$url = asset('img/photo.jpg');
$url = asset('img/photo.jpg');
 
</syntaxhighlight>
()secure_asset
====<code>()secure_asset</code>====
 
تولّد الدالة عنوان URL لأحد الأصول باستخدام HTTPS:<syntaxhighlight lang="php">
تولّد الدالة secure_asset  عنوان URL لأحد الأصول باستخدام HTTPS:
 
$url = secure_asset('img/photo.jpg');
$url = secure_asset('img/photo.jpg');
 
</syntaxhighlight>
()route
====<code>()route</code>====
 
تنشئ الدالة عنوان URL للمسار المسمى:<syntaxhighlight lang="php">
تنشئ الدالة route عنوان URL للمسار المسمى:
 
$url = route('routeName');
$url = route('routeName');
 
</syntaxhighlight>إذا كان المسار يقبل معاملات، يمكنك تمريرها كمعامل ثاني للتابع:<syntaxhighlight lang="php">
إذا كان المسار يقبل معاملات، يمكنك تمريرها كمعامل ثاني للتابع:
 
$url = route('routeName', ['id' => 1]);
$url = route('routeName', ['id' => 1]);
 
</syntaxhighlight>في العادة تنشئ الدالة <code>route</code> عنوان URL مطلق، إذا أردت عنوانا نسبيا، مرّر <code>false</code> كمعامل ثالث:<syntaxhighlight lang="php">
في العادة تنشئ الدالة route عنوان URL مطلق، إذا أردت عنوانا نسبيا، مرّر false كمعامل ثالث:
 
$url = route('routeName', ['id' => 1], false);
$url = route('routeName', ['id' => 1], false);
 
</syntaxhighlight>
()secure_url
====<code>()secure_url</code>====
 
تنشئ الدالة عنوان HTTPS URL مؤهل بشكل تام للمسار الممرّر:<syntaxhighlight lang="php">
تنشئ الدالة secure_url عنوان HTTPS URL مؤهل بشكل تام للمسار الممرّر:
 
$url = secure_url('user/profile');
$url = secure_url('user/profile');


$url = secure_url('user/profile', [1]);
$url = secure_url('user/profile', [1]);


()url
تنشئ الدالة url عنوان URL مؤهل بشكل تام للمسار الممرّر:


</syntaxhighlight>
====<code>()url</code>====
تنشئ الدالة عنوان URL مؤهل بشكل تام للمسار الممرّر:<syntaxhighlight lang="php">
$url = url('user/profile');
$url = url('user/profile');


$url = url('user/profile', [1]);
$url = url('user/profile', [1]);


إذا لم يُوفّر أي مسار، تعيد الدالة url نسخة Illuminate\Routing\UrlGenerator:


</syntaxhighlight>إذا لم يُوفّر أي مسار، تعيد الدالة <code>url</code> نسخة <code>Illuminate\Routing\UrlGenerator</code>:<syntaxhighlight lang="php">
$current = url()->current();
$current = url()->current();


سطر 842: سطر 770:
$previous = url()->previous();
$previous = url()->previous();


متنوعات
()abort
تطلق الدالة abort استثناء HTTP يظهر بمعالج الإستثناءات:


</syntaxhighlight>
===متنوعات===
====<code>()abort</code>====
تطلق الدالة استثناء HTTP يظهر بمعالج الإستثناءات:<syntaxhighlight lang="php">
abort(403);
abort(403);
 
</syntaxhighlight>يمكنك أيضًا توفير نص جواب الاستثناء والأجوبة المخصصة للترويسات:<syntaxhighlight lang="php">
يمكنك أيضًاا توفير نص جواب الاستثناء والأجوبة المخصصة للترويسات:
 
abort(403, 'Unauthorized.', $headers);
abort(403, 'Unauthorized.', $headers);
 
</syntaxhighlight>
()abort_if
====<code>()abort_if</code>====
 
تطلق الدالة استثناء HTTP إذا كانت نتيجة عبارة منطقية ممرّرة هي القيمة <code>true</code>:<syntaxhighlight lang="php">
تطلق الدالة abort_if استثناء HTTP إذا كانت نتيجة عبارة منطقية ممرّرة هي القيمة true:
 
abort_if(! Auth::user()->isAdmin(), 403);
abort_if(! Auth::user()->isAdmin(), 403);
 
</syntaxhighlight>مثل الدالة <code>abort</code>، يمكنك توفير نص جواب الاستثناء كمعامل ثالث و مصفوفة الأجوبة المخصصة للترويسات كمعامل رابع.
مثل الدالة abort، يمكنك توفير نص جواب الاستثناء كمعامل ثالث و مصفوفة الأجوبة المخصصة للترويسات كمعامل رابع.
====<code>()abort_unless</code>====
 
تطلق الدالة استثناء HTTP إذا كان نتيجة عبارة منطقية ممرّرة هي القيمة <code>false</code>:<syntaxhighlight lang="php">
()abort_unless
 
تطلق الدالة abort_unless استثناء HTTP إذا كان نتيجة عبارة منطقية ممرّرة هي القيمة false:
 
abort_unless(Auth::user()->isAdmin(), 403);
abort_unless(Auth::user()->isAdmin(), 403);
 
</syntaxhighlight>مثل الدالة <code>abort</code>، يمكنك توفير نص جواب الاستثناء كمعامل ثالث و مصفوفة الأجوبة المخصصة للترويسات كمعامل رابع.
مثل الدالة abort، يمكنك توفير نص جواب الاستثناء كمعامل ثالث و مصفوفة الأجوبة المخصصة للترويسات كمعامل رابع.
====<code>()app</code>====
 
تعيد الدالة نسخة حاوي الخدمات:<syntaxhighlight lang="php">
()app
 
تعيد الدالة app نسخة حاوي الخدمات:
 
$container = app();
$container = app();
 
</syntaxhighlight>يمكنك تمرير اسم صنف أو واجهة لتنفيذه من الحاوي:<syntaxhighlight lang="php">
يمكنك تمرير اسم صنف أو واجهة لتنفيذه من الحاوي:
 
$api = app('HelpSpot\API');
$api = app('HelpSpot\API');
 
</syntaxhighlight>
()auth
====<code>()auth</code>====
 
تعيد الدالة نسخة مُصادق (authentificator). يمكنك استعمال الدالة بدل الواجهة الساكنة Auth لسهولة العمل:<syntaxhighlight lang="php">
تعيد الدالة auth نسخة مُصادق (authentificator). يمكنك استعمال الدالة بدل الواجهة الساكنة Auth لسهولة العمل:
 
$user = auth()->user();
$user = auth()->user();
 
</syntaxhighlight>عند الحاجة، يمكنك تحديد أي نسخة حارس تريد استعمالها:<syntaxhighlight lang="php">
عند الحاجة، يمكنك تحديد أي نسخة حارس تريد استعمالها:
 
$user = auth('admin')->user();
$user = auth('admin')->user();
 
</syntaxhighlight>
()back
====<code>()back</code>====
 
تنشئ الدالة جواب [[HTML]] لإعادة التوجيه للمكان السابق للمستخدم:<syntaxhighlight lang="php">
تنشئ الدالة back جواب HTML لإعادة التوجيه للمكان السابق للمستخدم:
 
return back($status = 302, $headers = [], $fallback = false);
return back($status = 302, $headers = [], $fallback = false);


return back();
return back();


()bcrypt
تجزّء الدالة brcypt القيمة المرّرة باستعمال Bcrypt. يمكنك استعمال الدالة كبديل عن الواجهة الساكنة Hash:


</syntaxhighlight>
====<code>()bcrypt</code>====
تجزّء الدالة القيمة المرّرة باستعمال Bcrypt. يمكنك استعمال الدالة كبديل عن الواجهة الساكنة Hash:<syntaxhighlight lang="php">
$password = bcrypt('my-secret-password');
$password = bcrypt('my-secret-password');
 
</syntaxhighlight>
()broadcast
====<code>()broadcast</code>====
 
تبث الدالة الحدث المرّر للمنصتات:<syntaxhighlight lang="php">
تبث الدالة broadcast الحدث المرّر للمنصتات:
 
broadcast(new UserRegistered($user));
broadcast(new UserRegistered($user));
 
</syntaxhighlight>
()blank
====<code>()blank</code>====
 
تتثبت الدالة من إذا كانت القيمة الممرّرة فارغة:<syntaxhighlight lang="php">
تتثبت الدالة blank من إذا كانت القيمة الممرّرة فارغة:
blank();
 
blank('');''
 
blank('   ');
blank('   ');
blank(null);
blank(null);
blank(collect());
blank(collect());


سطر 925: سطر 825:


blank(0);
blank(0);
blank(true);
blank(true);
blank(false);
blank(false);


// false
// false


لعكس وظيفة الدالة blank، اطلع على الدالة filled.
()cache
تُستعمل الدالة cache لاسترجاع قيمة من التخزين المؤقت. إذا لم يكن المفتاح المرّر موجودًا، تعيد الدالة cache قيمة افتراضية:


</syntaxhighlight>لعكس وظيفة الدالة <code>blank</code>، اطلع على الدالة <code>filled</code>.
====<code>()cache</code>====
تُستعمل الدالة لاسترجاع قيمة من التخزين المؤقت. إذا لم يكن المفتاح المرّر موجودًا، تعيد الدالة <code>cache</code> قيمة افتراضية:<syntaxhighlight lang="php">
$value = cache('key');
$value = cache('key');


$value = cache('key', 'default');
$value = cache('key', 'default');


يمكنك إضافة عناصر للتخزين المؤقت عبر تمرير ثنائي مفتاح \ قيمة للدالة cache. يجب عليك أيضًا تمرير عدد الدقائق أو المدة التي تبقى فيها القيمة صالحة في التخزين:


</syntaxhighlight>يمكنك إضافة عناصر للتخزين المؤقت عبر تمرير ثنائي مفتاح \ قيمة للدالة <code>cache</code>. يجب عليك أيضًا تمرير عدد الدقائق أو المدة التي تبقى فيها القيمة صالحة في التخزين:<syntaxhighlight lang="php">
cache(['key' => 'value'], 5);
cache(['key' => 'value'], 5);


cache(['key' => 'value'], now()->addSeconds(10));
cache(['key' => 'value'], now()->addSeconds(10));


()class_uses_recursive
تعيد الدالة class_uses_recursive كل السمات (traits) التي يستعملها الصنف بما في ذلك السمات التي تستعملها الأصناف الآباء:


</syntaxhighlight>
====<code>()class_uses_recursive</code>====
تعيد الدالة كل السمات (traits) التي يستعملها الصنف بما في ذلك السمات التي تستعملها الأصناف الآباء:<syntaxhighlight lang="php">
$traits = class_uses_recursive(App\User::class);
$traits = class_uses_recursive(App\User::class);
 
</syntaxhighlight>
()collect
====<code>()collect</code>====
 
تنشئ لدالة نسخة مجموعة من القيم الممرّرة:<syntaxhighlight lang="php">
تنشئ لدالة collect نسخة مجموعة من القيم الممرّرة:
 
$collection = collect(['taylor', 'abigail']);
$collection = collect(['taylor', 'abigail']);
 
</syntaxhighlight>
()config
====<code>()config</code>====
 
تسترجع الدالة قيمة متغير ضبط. يمكن الوصول إلى القيمة باستعمال صياغة "النقاط" التي تتضمّن اسم الملف و الخيار الذي تريد الوصول إليه. يمكن تحديد قيمة افتراضية تعيدها الدالة <code>config</code> إذا كان خيار الضبط غير موجود:<syntaxhighlight lang="php">
تسترجع الدالة config قيمة متغير ضبط. يمكن الوصول إلى القيمة باستعمال صياغة "النقاط" التي تتضمّن اسم الملف و الخيار الذي تريد الوصول إليه. يمكن تحديد قيمة افتراضية تعيدها الدالة config إذا كان خيار الضبط غير موجود:
 
$value = config('app.timezone');
$value = config('app.timezone');


$value = config('app.timezone', $default);
$value = config('app.timezone', $default);


يمكنك تعيين متغيرات ضبط وقت التشغيل عبر تمرير ثنائي مفتاح \ قيمة:


</syntaxhighlight>يمكنك تعيين متغيرات ضبط وقت التشغيل عبر تمرير ثنائي مفتاح \ قيمة:<syntaxhighlight lang="php">
config(['app.debug' => true]);
config(['app.debug' => true]);
 
</syntaxhighlight>
()cookie
====<code>()cookie</code>====
 
تنشئ الدالة نسخة cookie جديدة:<syntaxhighlight lang="php">
تنشئ الدالة cookie نسخة cookie جديدة:
 
$cookie = cookie('name', 'value', $minutes);
$cookie = cookie('name', 'value', $minutes);
</syntaxhighlight>
====<code>()csrf_field</code>====
تنشئ الدالة حقل إدخال [[HTML]] مخفيًّا يحتوي قيمة الرمز csrf. مثلًا باستعمال صياغة [[Laravel/blade|Blade]]:<syntaxhighlight lang="php">
{{ csrf_field() }}


()csrf_field
تنشئ الدالة csrf_field حقل إدخال HTML مخفيًّا يحتوي قيمة الرمز csrf. مثلًا باستعمال صياغة Blade:{{csrf_field() }}()csrf_token
تستردّ الدالة csrf_token قيمة رمز CSRF:


</syntaxhighlight>
====()csrf_token====
تستردّ الدالة قيمة رمز CSRF:<syntaxhighlight lang="php">
$token = csrf_token();
$token = csrf_token();
 
</syntaxhighlight>
()dd
====<code>()dd</code>====
 
تُفرغ الدالة المتغيّر الممرّر وتنهي تنفيذ السكريبت:<syntaxhighlight lang="php">
تُفرغ الدالة dd المتغيّر الممرّر وتنهي تنفيذ السكريبت:
 
dd($value);
dd($value);


dd($value1, $value2, $value3, ...);
dd($value1, $value2, $value3, ...);


إذا لم ترد إيقاف السكريبت، استخدم الدالة dump.
()decrypt
تفك الدالة decrypt تشفير القيمة الممرّرة باستعمال مشفّر Laravel:


</syntaxhighlight>إذا لم ترد إيقاف السكريبت، استخدم الدالة <code>dump</code>.
====<code>()decrypt</code>====
تفك الدالة تشفير القيمة الممرّرة باستعمال مشفّر Laravel:<syntaxhighlight lang="php">
$decrypted = decrypt($encrypted_value);
$decrypted = decrypt($encrypted_value);
 
</syntaxhighlight>
()dispatch
====<code>()dispatch</code>====
 
تُرسل الدالة المهمة الممرّرة للطابور:<syntaxhighlight lang="php">
تُرسل الدالة dispatch المهمة الممرّرة للطابور:
 
dispatch(new App\Jobs\SendEmails);
dispatch(new App\Jobs\SendEmails);
 
</syntaxhighlight>
()dispatch_now
====<code>()dispatch_now</code>====
 
تنفذ الدالة المهمة الممرّرة وتعيد قيمة التابع <code>handle</code>:<syntaxhighlight lang="php">
تنفذ الدالة dispatch_now المهمة الممرّرة وتعيد قيمة التابع handle:
 
$result = dispatch_now(new App\Jobs\SendEmails);
$result = dispatch_now(new App\Jobs\SendEmails);
 
</syntaxhighlight>
()dump
====<code>()dump</code>====
 
تُفرغ الدالة المتغير الممرّر:<syntaxhighlight lang="php">
تُفرغ الدالة dump المتغير الممرّر:
 
dump($value);
dump($value);


dump($value1, $value2, $value3, ...);
dump($value1, $value2, $value3, ...);


إذا أردت إيقاف التنفيذ بعد التفريغ استعمل الدالة dd.
ملاحظة : يمكنك استعمال الأمر dump-server لتلقي كل نداءات التفريغ وعرضهم في شاشة سطر الأوامر بدل المتصفح.
()encrypt


تشفّر الدالة encrypt القيمة الممرّرة باستعمال مشفّر Laravel:
</syntaxhighlight>إذا أردت إيقاف التنفيذ بعد التفريغ استعمل الدالة <code>dd</code>.


ملاحظة : يمكنك استعمال الأمر <code>dump-server</code> لتلقي كل نداءات التفريغ وعرضهم في شاشة سطر الأوامر بدل المتصفح.
====<code>()encrypt</code>====
تشفّر الدالة القيمة الممرّرة باستعمال مشفّر Laravel:<syntaxhighlight lang="php">
$encrypted = encrypt($unencrypted_value);
$encrypted = encrypt($unencrypted_value);
 
</syntaxhighlight>
()env
====<code>()env</code>====
 
تستردّ الدالة متغيّرات البيئة أو تعيد قيمة افتراضية:<syntaxhighlight lang="php">
تستردّ الدالة env متغيّرات البيئة أو تعيد قيمة افتراضية:
 
$env = env('APP_ENV');
$env = env('APP_ENV');


سطر 1٬042: سطر 920:
$env = env('APP_ENV', 'production');
$env = env('APP_ENV', 'production');


()event
تطلق الدالة event الأحداث للمنصتات:


</syntaxhighlight>
====<code>()event</code>====
تطلق الدالة الأحداث للمنصتات:<syntaxhighlight lang="php">
event(new UserRegistered($user));
event(new UserRegistered($user));
 
</syntaxhighlight>
()factory
====<code>()factory</code>====
 
تنشئ الدالة منشئ نموذج منتج (model factory builder) للصنف والاسم والكمية المرّرة. يمكن استعمالها في الاختبار و في تعبئة قاعدة البيانات:<syntaxhighlight lang="php">
تنشئ الدالة factory منشئ نموذج منتج (model factory builder) للصنف والاسم والكمية المرّرة. يمكن استعمالها في الاختبار و في تعبئة قاعدة البيانات:
 
$user = factory(App\User::class)->make();
$user = factory(App\User::class)->make();
 
</syntaxhighlight>
()filled
====<code>()filled</code>====
 
تعيد الدالة قيمة منطقية حول القيمة الممرّرة إن هي غير فارغة أم لا:<syntaxhighlight lang="php">
تعيد الدالة filled قيمة منطقية حول القيمة الممرّرة إن هي غير فارغة أم لا:
 
filled(0);
filled(0);
filled(true);
filled(true);
filled(false);
filled(false);


// true
// true


filled('');''
filled();
 
filled('   ');
filled('   ');
filled(null);
filled(null);
filled(collect());
filled(collect());


// false
// false


لعكس وظيفة الدالة، استعمل الدالة blank.
()info
تكتب الدالة info معلومات في ملف log:


</syntaxhighlight>لعكس وظيفة الدالة، استعمل الدالة <code>blank</code>.
====<code>()info</code>====
تكتب الدالة معلومات في ملف log:<syntaxhighlight lang="php">
info('Some helpful information!');
info('Some helpful information!');
 
</syntaxhighlight>يمكن أيضًا تمرير مصفوفة من البيانات النصيّة:<syntaxhighlight lang="php">
يمكن أيضًا تمرير مصفوفة من البيانات النصيّة:
 
info('User login attempt failed.', ['id' => $user->id]);
info('User login attempt failed.', ['id' => $user->id]);
 
</syntaxhighlight>
()logger
====<code>()logger</code>====
 
تُستعمل الدالة لكتابة رسائل في ملف الضبط في مستوى debug:<syntaxhighlight lang="php">
تُستعمل الدالة logger لكتابة رسائل في ملف الضبط في مستوى debug:
 
logger('Debug message');
logger('Debug message');
 
</syntaxhighlight>يمكن أيضًا تمرير مصفوفة من البيانات النصيّة:<syntaxhighlight lang="php">
يمكن أيضًا تمرير مصفوفة من البيانات النصيّة:
 
logger('User has logged in.', ['id' => $user->id]);
logger('User has logged in.', ['id' => $user->id]);
 
</syntaxhighlight>تعيد الدالة نسخة <code>logger</code> إذا لم تمرّر معاملات:<syntaxhighlight lang="php">
تعيد الدالة نسخة logger إذا لم تمرّر معاملات:
 
logger()->error('You are not allowed here.');
logger()->error('You are not allowed here.');
 
</syntaxhighlight>
()method_field
====<code>()method_field</code>====
 
تنشئ الدالة حقل كتابة مخفي يحتوي قيمة طريقة HTTP في الاستمارة. مثلًا، باستعمال صياغة [[Laravel/blade|Blade]]:<syntaxhighlight lang="php">
تنشئ الدالة method_field حقل كتابة مخفي يحتوي قيمة طريقة HTTP في الاستمارة. مثلًا، باستعمال صياغة Blade:
<form method="POST">
 
    {{ method_field('DELETE') }}
<form method="POST">   {{method_field('DELETE') }}</form>
</form>
 
</syntaxhighlight>
()now
====<code>()now</code>====
 
تنشئ الدالة نسخة <code>Illuminate\Support\Carbon</code> للوقت الحالي:<syntaxhighlight lang="php">
تنشئ الدالة now نسخة Illuminate\Support\Carbon للوقت الحالي:
 
$now = now();
$now = now();
 
</syntaxhighlight>
()old
====<code>()old</code>====
 
تسترجع الدالة قيمة قديمة حُذفت من الجلسة:<syntaxhighlight lang="php">
تسترجع الدالة old قيمة قديمة حُذفت من الجلسة:
 
$value = old('value');
$value = old('value');


$value = old('value', 'default');
$value = old('value', 'default');


()optional
تقبل الدالة optional معاملا وتسمح لك بالوصول إلى خصائصه، توابعه، أو كائناته . سيعيد الطلب القيمة null بدل إحداث خطأ إذا كانت القيمة الممرّرة null:


</syntaxhighlight>
====<code>()optional</code>====
تقبل الدالة معاملا وتسمح لك بالوصول إلى خصائصه، توابعه، أو كائناته . سيعيد الطلب القيمة <code>null</code> بدل إحداث خطأ إذا كانت القيمة الممرّرة <code>null</code>:<syntaxhighlight lang="php">
return optional($user->address)->street;
return optional($user->address)->street;


{!! old('name', optional($user)->name) !!}
{!! old('name', optional($user)->name) !!}


تقبل الدالة أيضًا نداء Closure كمعامل ثاني. ينفَّذ المعامل الثاني إذا كانت قيمة المعامل الأول مخالفة لnull


</syntaxhighlight>تقبل الدالة أيضًا نداء Closure كمعامل ثاني. ينفَّذ المعامل الثاني إذا كانت قيمة المعامل الأول مخالفة ل<code>null</code>:<syntaxhighlight lang="php">
return optional(User::find($id), function ($user) {
return optional(User::find($id), function ($user) {
   return new DummyUser;
    return TwitterApi::findUser($user->twitter_id);
});
});


()policy
</syntaxhighlight>
 
====<code>()policy</code>====
تستردّ الدالة policy نسخة policy لصنف ممرّر:
تستردّ الدالة نسخة policy لصنف ممرّر:<syntaxhighlight lang="php">
 
$policy = policy(App\User::class);
$policy = policy(App\User::class);
 
</syntaxhighlight>
()redirect
====<code>()redirect</code>====
 
تعيد الدالة جواب HTTP لإعادة التوجيه أو تعيد نسخة الموجّه إذا نوديت دون معامل:<syntaxhighlight lang="php">
تعيد الدالة redirect جواب HTTP لإعادة التوجيه أو تعيد نسخة الموجّه إذا نوديت دون معامل:
 
return redirect($to = null, $status = 302, $headers = [], $secure = null);
return redirect($to = null, $status = 302, $headers = [], $secure = null);


سطر 1٬152: سطر 1٬004:
return redirect()->route('route.name');
return redirect()->route('route.name');


()report


تبلغ الدالة report عن وجود استثناء باستعمال التابع report من معالج الاستثناءات:
</syntaxhighlight>


==== <code>()report</code> ====
تبلغ الدالة عن وجود استثناء باستعمال التابع <code>report</code> من معالج الاستثناءات:<syntaxhighlight lang="php">
report($e);
report($e);
</syntaxhighlight>


()request
==== <code>()request</code> ====
 
تعيد الدالة نسخة الطلب الحالي أو تحصل على عنصر إدخال:<syntaxhighlight lang="php">
تعيد الدالة request نسخة الطلب الحالي أو تحصل على عنصر إدخال:
 
$request = request();
$request = request();


$value = request('key', $default);
$value = request('key', $default);


()rescue


تنفّذ الدالة rescue  النطاق المغلق الممرّر Closure و تتلقى كل استثناء مطلق عند تنفيذه. تُرسل كل الاستثناءات للتابع report من معالج الاستثناءات لكن الدالة تكمل العمل:
</syntaxhighlight>


==== <code>()rescue</code> ====
تنفّذ الدالة النطاق المغلق الممرّر Closure و تتلقى كل استثناء مطلق عند تنفيذه. تُرسل كل الاستثناءات للتابع <code>report</code> من معالج الاستثناءات لكن الدالة تكمل العمل:<syntaxhighlight lang="php">
return rescue(function () {
return rescue(function () {
   return $this->method();
 
   return $this->method();
});
});


يمكنك تمرير معامل ثاني  للدالة escue يكون القيمة الافتراضية التي تعيدها في حال ظهور استثناء عند تنفيذ Closure:


</syntaxhighlight>يمكنك تمرير معامل ثاني  للدالة <code>rescue</code> يكون القيمة الافتراضية التي تعيدها في حال ظهور استثناء عند تنفيذ Closure:<syntaxhighlight lang="php">
return rescue(function () {
return rescue(function () {
   return $this->method();
 
   return $this->method();
}, false);
}, false);


return rescue(function () {
return rescue(function () {
   return $this->method();
 
   return $this->method();
}, function () {
}, function () {
   return $this->failure();
 
   return $this->failure();
});
});


()resolve


تحل الدالة resolve الصنف أو الواجهة الممرّرة باستعمال حاوي الخدمات:
</syntaxhighlight>


==== <code>()resolve</code> ====
تحل الدالة الصنف أو الواجهة الممرّرة باستعمال حاوي الخدمات:<syntaxhighlight lang="php">
$api = resolve('HelpSpot\API');
$api = resolve('HelpSpot\API');
</syntaxhighlight>


()response
==== <code>()response</code> ====
 
تنشئ الدالة نسخة جواب أو تحصل على نسخة من منتج الجواب:<syntaxhighlight lang="php">
تنشئ الدالة response نسخة جواب أو تحصل على نسخة من منتج الجواب:
 
return response('Hello World', 200, $headers);
return response('Hello World', 200, $headers);


return response()->json(['foo' => 'bar'], 200, $headers);
return response()->json(['foo' => 'bar'], 200, $headers);


()retry


تحاول الدالة retry تنفيذ النداء الممرّر حتى تصل للحد الأقصى المحدد من المحاولات. إذا لم يطلق النداء أي استثناء، تعيد الدالة retry القيمة المعادة من النداء. إذا أطلق النداء استثناء، تعيد الدالة retry محاولة تنفيذه. إذا وصلت الدالة للحد الأقصى من المحاولات، تطلق الدالة retry الاستثناء:
</syntaxhighlight>


==== <code>()retry</code> ====
تحاول الدالة  تنفيذ النداء الممرّر حتى تصل للحد الأقصى المحدد من المحاولات. إذا لم يطلق النداء أي استثناء، تعيد الدالة <code>retry</code> القيمة المعادة من النداء. إذا أطلق النداء استثناء، تعيد الدالة <code>retry</code> محاولة تنفيذه. إذا وصلت الدالة للحد الأقصى من المحاولات، تطلق الدالة <code>retry</code> الاستثناء:<syntaxhighlight lang="php">
return retry(5, function () {
return retry(5, function () {
  // المحاولة 5 مرات مع الإنتظار 100 جزء من الثانية بين المحاولات
 
  // المحاولة 5 مرات مع الإنتظار 100 جزء من الثانية بين المحاولات
}, 100);
}, 100);


()session


يمكن استعمال الدالة session لاسترداد أو تعيين قيم من الجلسة:
</syntaxhighlight>


==== <code>()session</code> ====
يمكن استعمال الدالة لاسترداد أو تعيين قيم من الجلسة:<syntaxhighlight lang="php">
$value = session('key');
$value = session('key');
 
</syntaxhighlight>يمكنك تعيين قيم بتمرير ثنائي مفتاح \ قيمة للدالة:<syntaxhighlight lang="php">
يمكنك تعيين قيم بتمرير ثنائي مفتاح \ قيمة للدالة:
 
session(['chairs' => 7, 'instruments' => 3]);
session(['chairs' => 7, 'instruments' => 3]);
 
</syntaxhighlight>يعاد مخزن الجلسة (session store) إذا نوديت الدالة دون تمرير أي قيمة:<syntaxhighlight lang="php">
يعاد مخزن الجلسة (session store) إذا نوديت الدالة دون تمرير أي قيمة:
 
$value = session()->get('key');
$value = session()->get('key');


session()->put('key', $value);
session()->put('key', $value);


()tap


تقبل الدالة tap معاملين : قيمة عشوائية value$ والنطاق المغلق Closure. تمرّر القيمة للنطاق المغلق Closure ثم تعيدها الدالة tap. القيمة التي تعيدها Closure غير مهمة:
</syntaxhighlight>


==== <code>()tap</code> ====
تقبل الدالة معاملين : قيمة عشوائية <code>value$</code> والنطاق المغلق Closure. تمرّر القيمة للنطاق المغلق Closure ثم تعيدها الدالة <code>tap</code>. القيمة التي تعيدها Closure غير مهمة:<syntaxhighlight lang="php">
$user = tap(User::first(), function ($user) {
$user = tap(User::first(), function ($user) {
   $user->name = 'taylor';


   $user->save();
   $user->name = 'taylor';
   $user->save();
});
});


إذا لم تمرّر Closure يمكنك نداء أي تابع مع القيمة value$. تعيد الدالة دائما value$ مهما أعاد التابع المنادى. على سبيل المثال، التابع update من Eloquent يعيد عادة رقمًا لكن بإمكاننا إرغام التابع على إعادة النموذج نفسه عبر إضافة التابع update  للدالة tap:


</syntaxhighlight>إذا لم تمرّر Closure يمكنك نداء أي تابع مع القيمة <code>value$</code>. تعيد الدالة دائما <code>value$</code> مهما أعاد التابع المنادى. على سبيل المثال، التابع <code>update</code> من [[Laravel/eloquent|Eloquent]] يعيد عادة رقمًا لكن بإمكاننا إرغام التابع على إعادة النموذج نفسه عبر إضافة التابع <code>update</code>  للدالة <code>tap</code>:<syntaxhighlight lang="php">
$user = tap($user)->update([
$user = tap($user)->update([
   'name' => $name,


   'email' => $email,
   'name' => $name,
   'email' => $email,
]);
]);


()today


تنشئ الدالة today نسخة Illuminate\Support\Carbon للتاريخ الحالي:
</syntaxhighlight>


==== <code>()today</code> ====
تنشئ الدالة نسخة <code>Illuminate\Support\Carbon</code> للتاريخ الحالي:<syntaxhighlight lang="php">
$today = today();
$today = today();
</syntaxhighlight>


()thow_if
==== <code>()thow_if</code> ====
 
تطلق الدالة الاستثناء الممرّر إذا كانت نتيجة العبارة المنطقية الممرّرة <code>true</code>:<syntaxhighlight lang="php">
تطلق الدالة throw_if الاستثناء الممرّر إذا كانت نتيجة العبارة المنطقية الممرّرة true:
 
throw_if(! Auth::user()->isAdmin(), AuthorizationException::class);
throw_if(! Auth::user()->isAdmin(), AuthorizationException::class);


throw_if(
throw_if(
   ! Auth::user()->isAdmin(),
   AuthorizationException::class,


   'You are not allowed to access this page'
   ! Auth::user()->isAdmin(),
   AuthorizationException::class,
   'You are not allowed to access this page'
);
);


()throw_unless


تطلق الدالة throw_unless الاستثناء الممرّر إذا كانت نتيجة العبارة المنطقية الممرّرة false:
</syntaxhighlight>


==== <code>()throw_unless</code> ====
تطلق الدالة الاستثناء الممرّر إذا كانت نتيجة العبارة المنطقية الممرّرة <code>false</code>:<syntaxhighlight lang="php">
throw_unless(Auth::user()->isAdmin(), AuthorizationException::class);
throw_unless(Auth::user()->isAdmin(), AuthorizationException::class);


throw_unless(
throw_unless(
   Auth::user()->isAdmin(),


   AuthorizationException::class,
   Auth::user()->isAdmin(),
 
   AuthorizationException::class,
   'You are not allowed to access this page'
   'You are not allowed to access this page'
);
);


()trait_uses_recursive


تعيد الدالة trait_uses_recursive كل السمات المستعملة من قبل سمة:
</syntaxhighlight>


==== <code>()trait_uses_recursive</code> ====
تعيد الدالة كل السمات المستعملة من قبل سمة:<syntaxhighlight lang="php">
$traits = trait_uses_recursive(\Illuminate\Notifications\Notifiable::class);
$traits = trait_uses_recursive(\Illuminate\Notifications\Notifiable::class);
</syntaxhighlight>


()transform
==== <code>()transform</code> ====
تنفذ الدالة النطاق المغلق Closure على قيمة ممرّرة إذا لم تكن فارغة وتعيد نتيجة النطاق المغلق:<syntaxhighlight lang="php">
$callback = function ($value) {


تنفذ الدالة transform  النطاق المغلق Closure على قيمة ممرّرة إذا لم تكن فارغة وتعيد نتيجة النطاق المغلق:
   return $value * 2;
 
$callback = function ($value) {
   return $value * 2;
};
};


سطر 1٬294: سطر 1٬151:
// 10
// 10


يمكن تمرير قيمة مبدئية أو Closure تعاد حين تكون القيمة الممرّرة فارغة:


</syntaxhighlight>يمكن تمرير قيمة مبدئية أو Closure تعاد حين تكون القيمة الممرّرة فارغة:<syntaxhighlight lang="php">
$result = transform(null, $callback, 'The value is blank');
$result = transform(null, $callback, 'The value is blank');


// The value is blank
// The value is blank


()validator


تنشئ الدالة validator نسخة validator بالمعامل الممرّر. يمكن استعمال الدالة كبديل عن الواجهة الساكنة Validator لسهولة العمل:
</syntaxhighlight>


==== <code>()validator</code> ====
تنشئ الدالة نسخة validator بالمعامل الممرّر. يمكن استعمال الدالة كبديل عن الواجهة الساكنة Validator لسهولة العمل:<syntaxhighlight lang="php">
$validator = validator($data, $rules, $messages);
$validator = validator($data, $rules, $messages);
</syntaxhighlight>


()value
==== <code>()value</code> ====
 
تعيد الدالة القيمة الممرّرة، لكن إذا مرّرت نطاقًا مغلقًا، سينفذ وتعاد نتيجته:<syntaxhighlight lang="php">
تعيد الدالة value القيمة الممرّرة، لكن إذا مرّرت نطاقًا مغلقًا، سينفذ وتعاد نتيجته:
 
$result = value(true);
$result = value(true);


سطر 1٬315: سطر 1٬172:


$result = value(function () {
$result = value(function () {
   return false;
 
   return false;
});
});


// false
// false


()view


تستردّ الدالة view نسخة واجهة:
</syntaxhighlight>


==== <code>()view</code> ====
تستردّ الدالة نسخة واجهة:<syntaxhighlight lang="php">
return view('auth.login');
return view('auth.login');
</syntaxhighlight>


()with
==== <code>()with</code> ====
تعيد الدالة القيمة الممرّرة. إذا مرّرت  نطاقًا مغلقًا Closure كمعامل ثاني للدالة، سينفذ وتعاد نتيجته:<syntaxhighlight lang="php">
$callback = function ($value) {


تعيد الدالة with القيمة الممرّرة. إذا مرّرت  نطاقًا مغلقًا Closure كمعامل ثاني للدالة، سينفذ وتعاد نتيجته:
   return (is_numeric($value)) ? $value * : 0;
 
$callback = function ($value) {
   return (is_numeric($value)) ? $value * 2 : 0;
};
};


سطر 1٬346: سطر 1٬205:
// 5
// 5


مصادر


صفحة Helpers في توثيق Laravel الرسمي.<noinclude>{{DISPLAYTITLE:الدوال المساعدة في Laravel}}</noinclude>
</syntaxhighlight>
[[تصنيف:Laravel]]
 
[[تصنيف:Laravel Digging deeper]]
== مصادر ==
* [https://laravel.com/docs/5.6/helpers صفحة Helpers في توثيق Laravel الرسمي.]
<noinclude>{{DISPLAYTITLE:الدوال المساعدة (Helpers) في Laravel}}</noinclude>
[[تصنيف:Laravel|{{SUBPAGENAME}}]]
[[تصنيف:Laravel Digging deeper|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 14:08، 24 أكتوبر 2018

مقدمة

يتضمن Laravel عددًا من دوال PHP المساعدة. تُستعمل العديد من هذه الدوال من قبل Laravel لكن بامكانك استعمالها في تطبيقك اذا احتجتهم.

قائمة التوابع

المصفوفات والكائنات

()array_add

تضيف الدالة الثنائي مفتاح\قيمة الممرّر لمصفوفة إذا كان المفتاح غير موجود مسبقًا:

$array = array_add(['name' => 'Desk'], 'price', 100);

// ['name' => 'Desk', 'price' => 100]

()array_collapse

تحول الدالة مصفوفة مصفوفات لمصفوفة واحدة:

$array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]);

// [1, 2, 3, 4, 5, 6, 7, 8, 9]

()array_divide

تعيد الدالة مصفوفتين، واحدة تحتوي المفاتيح وأخرى تحتوي القيم من المصفوفة الممرّرة:

[$keys, $values] = array_divide(['name' => 'Desk']);

// $keys: ['name']

// $values: ['Desk']

()array_dot

تسطّح الدالة مصفوفة متعددة الأبعاد لمصفوفة ببعد واحد تستعمل رمز النقطة لبيان العمق:

$array = ['products' => ['desk' => ['price' => 100]]];

$flattened = array_dot($array);

// ['products.desk.price' => 100]

()array_except

تحذف الدالة الثنائي مفتاح\قيمة الممرّر من المصفوفة:

$array = ['name' => 'Desk', 'price' => 100];

$filtered = array_except($array, ['price']);

// ['name' => 'Desk']

()array_first

تعيد الدالة العنصر الأول من المصفوفة الممرّرة الذي يستجيب لشرط صحّة:

$array = [100, 200, 300];

$first = array_first($array, function ($value, $key) {
   return $value >= 150;
});

// 200

يمكن تمرير قيمة افتراضية كمعامل ثالث. تُعاد القيمة الافتراضية في حال لم يستجب أي عنصر لشرط الصحّة:

$first = array_first($array, $callback, $default);

()array_flatten

تسطِّح الدالة مصفوفة متعدّدة الأبعاد لمصفوفة ببعد واحد:

$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];

$flattened = array_flatten($array);

// ['Joe', 'PHP', 'Ruby']

()array_forget

تحذف الدالة الثنائي مفتاح\قيمة من مصفوفة متداخلة باستعمال رمز" النقطة ":

$array = ['products' => ['desk' => ['price' => 100]]];

array_forget($array, 'products.desk');

// ['products' => []]

()array_get

تسترجع الدالة قيمة من مصفوفة متداخلة باستعمال رمز "النقطة":

$array = ['products' => ['desk' => ['price' => 100]]];

$price = array_get($array, 'products.desk.price');

// 100

تقبل الدالة أيضًا قيمة افتراضية تعيدها في حال لم تجد المفتاح الممرّر:

$discount = array_get($array, 'products.desk.discount', 0);

// 0

()array_has

تتثبت الدالة من وجود عنصر أو عناصر ممرّرة في المصفوفة باستعمال الرمز "نقطة":

$array = ['product' => ['name' => 'Desk', 'price' => 100]];

$contains = array_has($array, 'product.name');

// true

$contains = array_has($array, ['product.price', 'product.discount']);

// false

()array_last

تعيد الدالة آخر عنصر يستجيب لشرط الصحّة:

$array = [100, 200, 300, 110];

$last = array_last($array, function ($value, $key) {
 return $value >= 150;
});

// 300

يمكن تمرير قيمة افتراضية كمعامل ثالث تعيدها الدالة في حال لم يستجب أي عنصر لشرط الصحة:

$last = array_last($array, $callback, $default);

()array_only

تعبد الدالة فقط الثنائيات الممرّرة من المصفوفة:

$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];

$slice = array_only($array, ['name', 'price']);

// ['name' => 'Desk', 'price' => 100]

()array_pluck

تستعيد الدالة كل القيم لمفتاح ممرّر من المصفوفة:

$array = [
  ['developer' => ['id' => 1, 'name' => 'Taylor']],
  ['developer' => ['id' => 2, 'name' => 'Abigail']],

$names = array_pluck($array, 'developer.name');
];

// ['Taylor', 'Abigail']

يمكنك أيضًا تحديد المفاتيح التي تريد لعرضها في النتيجة :

$names = array_pluck($array, 'developer.name', 'developer.id');

// [1 => 'Taylor', 2 => 'Abigail']

()array_prepend

تضبف الدالة عنصرًا في أول المصفوفة:

$array = ['one', 'two', 'three', 'four'];

$array = array_prepend($array, 'zero');

// ['zero', 'one', 'two', 'three', 'four']

عند الحاجة، بإمكانك تحديد المفتاح الذي يجب استعماله مع القيمة:

$array = ['price' => 100];

$array = array_prepend($array, 'Desk', 'name');

// ['name' => 'Desk', 'price' => 100]

()array_pull

تعيد الدالة وتحذف ثنائي مفتاح\قيمة من المصفوفة:

$array = ['name' => 'Desk', 'price' => 100];

$name = array_pull($array, 'name');

// $name: Desk

// $array: ['price' => 100]

يمكن تمرير قيمة افتراضية كمعامل ثالث تعيده الدالة في حال عدم وجود المفتاح:

$value = array_pull($array, $key, $default);

()array_random

تعيد الدالة قيمة عشوائية من المصفوفة:

$array = [1, 2, 3, 4, 5];

$random = array_random($array);

// 4 - (اختيرت بعشوائية)

يمكن أيضًا تحديد عدد العناصر الذي يجب إعادته كمعامل ثاني اختياري.لاحظ أن هذا الخيار سيعيد مصفوفة حتو لو اخترت عنصرًا واحدًا:

$items = array_random($array, 2);

// [2, 5] - (retrieved randomly)

()array_set

تعيّن الدالة قيمة في مصفوفة متداخلة باستعمال الرمز "نقطة":

$array = ['products' => ['desk' => ['price' => 100]]];

array_set($array, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 200]]]

()array_sort

ترتّب الدالة المصفوفة حسب القيم:

$array = ['Desk', 'Table', 'Chair'];

$sorted = array_sort($array);

// ['Chair', 'Desk', 'Table']

يمكن أيضًا ترتيب مصفوفة حسب نتائج النطاق المغلق Closure:

$array = [
    ['name' => 'Desk'],
    ['name' => 'Table'],
    ['name' => 'Chair'],
];

$sorted = array_values(array_sort($array, function ($value) {
    return $value['name'];
}));

/*
    [
        ['name' => 'Chair'],
        ['name' => 'Desk'],
        ['name' => 'Table'],
    ]
*/

()array_sort_recursive

ترتّب الدالة المصفوفة مرتبة بشكل تكراري باستعمال الدالة sort:

$array = [
    ['Roman', 'Taylor', 'Li'],
    ['PHP', 'Ruby', 'JavaScript'],
];

$sorted = array_sort_recursive($array);

/*
    [
        ['Li', 'Roman', 'Taylor'],
        ['JavaScript', 'PHP', 'Ruby'],
    ]
*/

()array_where

ترشح الدالة المصفوفة باستعمال النطاق المغلق المعطى Closure:

$array = [100, '200', 300, '400', 500];

$filtered = array_where($array, function ($value, $key) {
    return is_string($value);
});

// [1 => '200', 3 => '400']

()array_wrap

تغلف الدالة القيمة الممرّرة في مصفوفة. إذا كانت القيمة الممرّرة مصفوفة بالأصل فلن تتغير:

$string = 'Laravel';

$array = array_wrap($string);

// ['Laravel']

إذا كانت القيمة الممرّرة null، تعيد الدالة array_wrap مصفوفة فارغة:

$nothing = null;

$array = array_wrap($nothing);

// []

()data_fill

تضبط الدالة قيمة مفقودة بمصفوفة متداخلة أو بكائن باستعمال الرمز "نقطة":

$data = ['products' => ['desk' => ['price' => 100]]];

data_fill($data, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 100]]]

data_fill($data, 'products.desk.discount', 10);

// ['products' => ['desk' => ['price' => 100, 'discount' => 10]]]

تقبل الدالة أيضًا الرمز "*" كمحرف بدل لرمز يملؤه الهدف بما يلائم:

$data = [

   'products' => [
       ['name' => 'Desk 1', 'price' => 100],
       ['name' => 'Desk 2'],
   ],
];

data_fill($data, 'products.*.price', 200);

/*

   [
       'products' => [
           ['name' => 'Desk 1', 'price' => 100],
           ['name' => 'Desk 2', 'price' => 200],
       ],
   ]

()data_get

تسترجع الدالة قيمة من مصفوفة متداخلة أو كائن باستعمال الرمز "نقطة":

$data = ['products' => ['desk' => ['price' => 100]]];

$price = data_get($data, 'products.desk.price');

// 100

تقبل الدالة أيضًا قيمة افتراضيّة تعيدها إذا لم تجد المفتاح في المصفوفة:

$discount = data_get($data, 'products.desk.discount', 0);

// 0

()data_set

تضبط الدالة قيمة في مصفوفة متداخلة أو كائن باستعمال الرمز "نقطة":

$data = ['products' => ['desk' => ['price' => 100]]];

data_set($data, 'products.desk.price', 200);

// ['products' => ['desk' => ['price' => 200]]]

تقبل الدالة data_set أيضًا محرفات بديلة وتعوضها بما يلائم:

$data = [

   'products' => [
       ['name' => 'Desk 1', 'price' => 100],
       ['name' => 'Desk 2', 'price' => 150],
   ],
];

data_set($data, 'products.*.price', 200);

/*

   [
       'products' => [
           ['name' => 'Desk 1', 'price' => 200],
           ['name' => 'Desk 2', 'price' => 200],
       ],
   ]

في العادة، تعاد كتابة القيم. إذا أردت تعيين قيمة غير موجودة، يمكنك تمرير القيمة false كمعامل ثالث:

$data = ['products' => ['desk' => ['price' => 100]]];

data_set($data, 'products.desk.price', 200, false);

// ['products' => ['desk' => ['price' => 100]]]

()head

تعيد الدالة العنصر الأول من مصفوفة ممرّرة:

$array = [100, 200, 300];

$first = head($array);

// 100

()last

تعيد الدالة العنصر الأخير من المصفوفة الممرّرة:

$array = [100, 200, 300];

$last = last($array);

// 300

المسارات

()app_path

تعيد الدالة المسار الكامل للدليل app. يمكن أيضًا استعمال الدالة لإنشاء مسار لملف موجود في دليل التطبيق:

$path = app_path();

$path = app_path('Http/Controllers/Controller.php');

()base_path

تعيد الدالة مسارا لجذر التطبيق. يمكنك أيضًا استعمال الدالة لإنشاء مسار مؤهل بشكل كامل لملف تابع لدليل جذر التطبيق:

$path = base_path();

$path = base_path('vendor/bin');

()config_path

تعيد الدالة‎ المسار المؤهل بشكل كامل للدليل config. يمكنك استعمال الدالة لإنشاء مسار مؤهل بشكل كامل لملف معين في دليل الضبط:

$path = config_path();

$path = config_path('app.php');

()data_path

تعيد الدالة مسارا مؤهلا للدليل database. يمكن أيضًا استعمال الدالة لإنشاء مسار مؤهل لملف في دليل قاعدة البيانات:

$path = database_path();

$path = database_path('factories/UserFactory.php');

()mix

تعيد الدالة مسارا للملف Mix:

$path = mix('css/app.css');

()public_path

تعيد الدالة مسارًا مؤهلا للدليل public. يمكنك أيضًا استعمال الدالة لإنشاء مسارات مؤهلة لملفات في الدليل public:

$path = public_path();

$path = public_path('css/app.css');

()resource_path

تعيد الدالة مسارًا مؤهلا للدليل resources. يمكنك أيضًا استعمال الدالة لإنشاء مسار مؤهل لملف في الدليل resources:

$path = resource_path();

$path = resource_path('assets/sass/app.scss');

()storage_path

تعيد الدالة مسارًا مؤهلا للدليل storage. يمكن أيضًا استعمال الدالة لإنشاء مسارات مؤهلة لملف في الدليل storage:

$path = storage_path();

$path = storage_path('app/file.txt');

السلاسل النصية

()__

تترجم الدالة سلسلة الترجمة أو مفتاح الترجمة باستعمال ملفات الترجمة في التطبيق:

echo __('Welcome to our application');

echo __('messages.welcome');

إذا لم توجد سلسلة أو مفتاح الترجمة، تعيد الدالة القيمة الممرّرة. لذا باستعمال المثال السابق، تعيد الدالة "message.welcome" في حال عدم وجود المفتاح.

()camel_case

تحوّل الدالة السلسلة لسلسلة منسقةً بحالة سِنَام الجمل:

$converted = camel_case('foo_bar');

// fooBar

()class_basename

تعيد الدالة اسم الصنف للصنف الممرّر بعد حذف دليله:

$class = class_basename('Foo\Bar\Baz');

// Baz

()e

تنفذ الدالة الدالة htmlspecialchars من PHP مع الخيار double_encode على القيمة true افتراضيًّا:

echo e('<html>foo</html>');

// <html>foo</html>

()ends_with

تحدّد الدالة إذا كانت السلسلة تنتهي بالقيمة الممرّرة:

$result = ends_with('This is my name', 'name');

// true

()kebab_case

تحول الدالة السلسلة الممرّرة منسقةً بحالة kebab-case:

$converted = kebab_case('fooBar');

// foo-bar

()preg_replace_array

تعوّض الدالة الأسلوب الممرّر في السلسلة باستعمال مصفوفة:

$string = 'The event will take place between :start and :end';

$replaced = preg_replace_array('/:[a-z_]+/', ['8:30', '9:00'], $string);

// The event will take place between 8:30 and 9:00

()snake_case

تحول الدالة السلسلة الممرّرة منسقةً بحالة snake_case:

$converted = snake_case('fooBar');

// foo_bar

()starts_with

تحدد الدالة إذا كان السلسلة الممرّرة تبدأ بالقيمة الممررّة:

$result = starts_with('This is my name', 'This');

// true

()str_after

تعيد الدالة كل شيء بعد السلسلة الممررة:

$slice = str_after('This is my name', 'This is');

// ' my name'

()str_before

تعيد الدالة كل شيء قبل السلسلة الممررة:

$slice = str_before('This is my name', 'my name');

// 'This is '

()str_contains

تحدد الدالة إذا كانت السلسلة تحتوي القيمة الممرّرة (مع احترام الحروف الكبيرة والصغيرة):

$contains = str_contains('This is my name', 'my');

// true

يمكنك تمرير مصفوفة من القيم لتحدد إذا كانت موجودة في السلسلة:

$contains = str_contains('This is my name', ['my', 'foo']);

// true

()str_finish

تضيف الدالة نسخةً واحدةً من قيمة ممرّرة لسلسلة إذا لم تكن السلسلة تنتهي بتلك القيمة:

$adjusted = str_finish('this/string', '/');

// this/string/

$adjusted = str_finish('this/string/', '/');

// this/string/

()str_is

تحدد الدالة إذا كانت السلسلة مطابقة لأسلوب ممرّر. تُستعمل الرموز "*" للدلالة على محرف بدل:

$matches = str_is('foo*', 'foobar');

// true

$matches = str_is('baz*', 'foobar');

// false

()str_limit

تقطع الدالة السلسلة حسب الطول المحدد:

cated = str_limit('The quick brown fox jumps over the lazy dog', 20);

// The quick brown fox...

يمكنك تمرير معامل ثالث لتغيير السلسلة التي تضاف في الآخر:

$truncated = str_limit('The quick brown fox jumps over the lazy dog', 20, ' (...)');

// The quick brown fox (...)

()Str::orderedUuid

تنشئ الدالة معرف فريد عالمي لبصمة وقت يمكن تخزينه في قاعدة بيانات:

use Illuminate\Support\Str;

return (string) Str::orderedUuid();

()str_plural

تحول الدالة السلسلة لصيغة الجمع. تدعم هذه الدالة حاليا اللغة الإنقليزية فقط:

$plural = str_plural('car');

// cars

$plural = str_plural('child');

// children

يمكنك تمرير معامل ثاني للدالة  لاسترجاع صيغة المفرد أو الجمع للسلسلة:

$plural = str_plural('child', 2);

// children

$plural = str_plural('child', 1);

// child

()str_random

تنشئ الدالة سلسلة نصية عشوائية بالطول المحدد. تستخدم هذه الدالة الدالة random_bytes من PHP:

$random = str_random(40);

()str_replace_array

تستبدل الدالة القيمة الممرّرة من السلسلة النصية باستخدام مصفوفة:

$string = 'The event will take place between ? and ?';

$replaced = str_replace_array('?', ['8:30', '9:00'], $string);

// The event will take place between 8:30 and 9:00

()str_replace_first

تستبدل الدالة الظهور الأول للقيمة الممرّرة بسلسة نصية:

$replaced = str_replace_first('the', 'a', 'the quick brown fox jumps over the lazy dog');

// a quick brown fox jumps over the lazy dog

()str_replace_last

تستبدل الدالة الظهور الأخير للقيمة الممرّرة بسلسة نصية:

$replaced = str_replace_last('the', 'a', 'the quick brown fox jumps over the lazy dog');

// the quick brown fox jumps over a lazy dog

()str_singular

تحوّل الدالة سلسلة نصية لصيغة المفرد. تدعم الدالة الآن فقط اللغة الإنقليزية:

$replaced = str_replace_last('the', 'a', 'the quick brown fox jumps over the lazy dog');

// the quick brown fox jumps over a lazy dog

()str_slug

تنشئ الدالة قيمة "slug" يمكن استعمالها مع مسارات URL:

$slug = str_slug('Laravel 5 Framework', '-');

// laravel-5-framework

()str_start

تضيف الدالة نسخة واحدة من القيمة الممرّرة في أول السلسلة إذا لم تكن موجودة:

$adjusted = str_start('this/string', '/');

// /this/string

$adjusted = str_start('/this/string', '/');

// /this/string

()studly_case

تحول الدالة السلسلة الممرّرة منسقةً بحالة StudlyCase:

$converted = studly_case('foo_bar');

// FooBar

()title_case

تحول الدالة السلسلة الممرّرة منسقةً بحالة Title Case:

$converted = title_case('a nice title uses the correct case');

// A Nice Title Uses The Correct Case

()trans

تترجم الدالة مفتاح الترجمة الممرّر باستعمال ملفات التوطين:

echo trans('messages.welcome');

إذا لم يكن مفتاح الترجمة موجودًا، تعيد الدالة المفتاح الممرّر. لذا، في المثال السابق ستعيد الدالة message.welcome في حال لم يكن المفتاح موجودًا في ملف التوطين.

()trans_choice

تترجم الدالة السلسلة الممرّرة مع مع تصريف الكلمة حسب العدد المُمرَّر إلى الدالة (inflection):

echo trans_choice('messages.notifications', $unreadCount);

إذا لم يكن مفتاح الترجمة موجودًا، تعيد الدالة المفتاح الممرّر. لذا، في المثال السابق ستعيد الدالة welcome.notifications في حال لم يكن المفتاح موجودًا.

()Str::uuid

تنشئ الدالة المعرف الفريد العالمي UUID (الإصدار 4):

use Illuminate\Support\Str;

return (string) Str::uuid();

العناوين URLs

()action

تنشئ الدالة عنوان URL لعمل وحدة التحكم. لا تحتاج لتمرير مجال الأسماء الكامل لوحدة التحكم. بدلًا من ذلك، مرّر اسم صنف وحدة التحكم نسبة لمجال الأسماء :

App\Http\Controllers:

$url = action('HomeController@index');

$url = action([HomeController::class, 'index']);

إذا كان التابع يقبل معاملات مسارات، يمكنك تمريرها كمعامل ثاني للدالة:

$url = action('UserController@profile', ['id' => 1]);

()asset

تولّد الدالة عنوان URL للأصول باستخدام مخطط الطلب ( HTTP أو HTTPS):

$url = asset('img/photo.jpg');

()secure_asset

تولّد الدالة عنوان URL لأحد الأصول باستخدام HTTPS:

$url = secure_asset('img/photo.jpg');

()route

تنشئ الدالة عنوان URL للمسار المسمى:

$url = route('routeName');

إذا كان المسار يقبل معاملات، يمكنك تمريرها كمعامل ثاني للتابع:

$url = route('routeName', ['id' => 1]);

في العادة تنشئ الدالة route عنوان URL مطلق، إذا أردت عنوانا نسبيا، مرّر false كمعامل ثالث:

$url = route('routeName', ['id' => 1], false);

()secure_url

تنشئ الدالة عنوان HTTPS URL مؤهل بشكل تام للمسار الممرّر:

$url = secure_url('user/profile');

$url = secure_url('user/profile', [1]);

()url

تنشئ الدالة عنوان URL مؤهل بشكل تام للمسار الممرّر:

$url = url('user/profile');

$url = url('user/profile', [1]);

إذا لم يُوفّر أي مسار، تعيد الدالة url نسخة Illuminate\Routing\UrlGenerator:

$current = url()->current();

$full = url()->full();

$previous = url()->previous();

متنوعات

()abort

تطلق الدالة استثناء HTTP يظهر بمعالج الإستثناءات:

abort(403);

يمكنك أيضًا توفير نص جواب الاستثناء والأجوبة المخصصة للترويسات:

abort(403, 'Unauthorized.', $headers);

()abort_if

تطلق الدالة استثناء HTTP إذا كانت نتيجة عبارة منطقية ممرّرة هي القيمة true:

abort_if(! Auth::user()->isAdmin(), 403);

مثل الدالة abort، يمكنك توفير نص جواب الاستثناء كمعامل ثالث و مصفوفة الأجوبة المخصصة للترويسات كمعامل رابع.

()abort_unless

تطلق الدالة استثناء HTTP إذا كان نتيجة عبارة منطقية ممرّرة هي القيمة false:

abort_unless(Auth::user()->isAdmin(), 403);

مثل الدالة abort، يمكنك توفير نص جواب الاستثناء كمعامل ثالث و مصفوفة الأجوبة المخصصة للترويسات كمعامل رابع.

()app

تعيد الدالة نسخة حاوي الخدمات:

$container = app();

يمكنك تمرير اسم صنف أو واجهة لتنفيذه من الحاوي:

$api = app('HelpSpot\API');

()auth

تعيد الدالة نسخة مُصادق (authentificator). يمكنك استعمال الدالة بدل الواجهة الساكنة Auth لسهولة العمل:

$user = auth()->user();

عند الحاجة، يمكنك تحديد أي نسخة حارس تريد استعمالها:

$user = auth('admin')->user();

()back

تنشئ الدالة جواب HTML لإعادة التوجيه للمكان السابق للمستخدم:

return back($status = 302, $headers = [], $fallback = false);

return back();

()bcrypt

تجزّء الدالة القيمة المرّرة باستعمال Bcrypt. يمكنك استعمال الدالة كبديل عن الواجهة الساكنة Hash:

$password = bcrypt('my-secret-password');

()broadcast

تبث الدالة الحدث المرّر للمنصتات:

broadcast(new UserRegistered($user));

()blank

تتثبت الدالة من إذا كانت القيمة الممرّرة فارغة:

blank();
blank('   ');
blank(null);
blank(collect());

// true

blank(0);
blank(true);
blank(false);

// false

لعكس وظيفة الدالة blank، اطلع على الدالة filled.

()cache

تُستعمل الدالة لاسترجاع قيمة من التخزين المؤقت. إذا لم يكن المفتاح المرّر موجودًا، تعيد الدالة cache قيمة افتراضية:

$value = cache('key');

$value = cache('key', 'default');

يمكنك إضافة عناصر للتخزين المؤقت عبر تمرير ثنائي مفتاح \ قيمة للدالة cache. يجب عليك أيضًا تمرير عدد الدقائق أو المدة التي تبقى فيها القيمة صالحة في التخزين:

cache(['key' => 'value'], 5);

cache(['key' => 'value'], now()->addSeconds(10));

()class_uses_recursive

تعيد الدالة كل السمات (traits) التي يستعملها الصنف بما في ذلك السمات التي تستعملها الأصناف الآباء:

$traits = class_uses_recursive(App\User::class);

()collect

تنشئ لدالة نسخة مجموعة من القيم الممرّرة:

$collection = collect(['taylor', 'abigail']);

()config

تسترجع الدالة قيمة متغير ضبط. يمكن الوصول إلى القيمة باستعمال صياغة "النقاط" التي تتضمّن اسم الملف و الخيار الذي تريد الوصول إليه. يمكن تحديد قيمة افتراضية تعيدها الدالة config إذا كان خيار الضبط غير موجود:

$value = config('app.timezone');

$value = config('app.timezone', $default);

يمكنك تعيين متغيرات ضبط وقت التشغيل عبر تمرير ثنائي مفتاح \ قيمة:

config(['app.debug' => true]);

()cookie

تنشئ الدالة نسخة cookie جديدة:

$cookie = cookie('name', 'value', $minutes);

()csrf_field

تنشئ الدالة حقل إدخال HTML مخفيًّا يحتوي قيمة الرمز csrf. مثلًا باستعمال صياغة Blade:

{{ csrf_field() }}

()csrf_token

تستردّ الدالة قيمة رمز CSRF:

$token = csrf_token();

()dd

تُفرغ الدالة المتغيّر الممرّر وتنهي تنفيذ السكريبت:

dd($value);

dd($value1, $value2, $value3, ...);

إذا لم ترد إيقاف السكريبت، استخدم الدالة dump.

()decrypt

تفك الدالة تشفير القيمة الممرّرة باستعمال مشفّر Laravel:

$decrypted = decrypt($encrypted_value);

()dispatch

تُرسل الدالة المهمة الممرّرة للطابور:

dispatch(new App\Jobs\SendEmails);

()dispatch_now

تنفذ الدالة المهمة الممرّرة وتعيد قيمة التابع handle:

$result = dispatch_now(new App\Jobs\SendEmails);

()dump

تُفرغ الدالة المتغير الممرّر:

dump($value);

dump($value1, $value2, $value3, ...);

إذا أردت إيقاف التنفيذ بعد التفريغ استعمل الدالة dd.

ملاحظة : يمكنك استعمال الأمر dump-server لتلقي كل نداءات التفريغ وعرضهم في شاشة سطر الأوامر بدل المتصفح.

()encrypt

تشفّر الدالة القيمة الممرّرة باستعمال مشفّر Laravel:

$encrypted = encrypt($unencrypted_value);

()env

تستردّ الدالة متغيّرات البيئة أو تعيد قيمة افتراضية:

$env = env('APP_ENV');

// تعيد production إذا كانت المتغيرات غير معدّة

$env = env('APP_ENV', 'production');

()event

تطلق الدالة الأحداث للمنصتات:

event(new UserRegistered($user));

()factory

تنشئ الدالة منشئ نموذج منتج (model factory builder) للصنف والاسم والكمية المرّرة. يمكن استعمالها في الاختبار و في تعبئة قاعدة البيانات:

$user = factory(App\User::class)->make();

()filled

تعيد الدالة قيمة منطقية حول القيمة الممرّرة إن هي غير فارغة أم لا:

filled(0);
filled(true);
filled(false);

// true

filled();
filled('   ');
filled(null);
filled(collect());

// false

لعكس وظيفة الدالة، استعمل الدالة blank.

()info

تكتب الدالة معلومات في ملف log:

info('Some helpful information!');

يمكن أيضًا تمرير مصفوفة من البيانات النصيّة:

info('User login attempt failed.', ['id' => $user->id]);

()logger

تُستعمل الدالة لكتابة رسائل في ملف الضبط في مستوى debug:

logger('Debug message');

يمكن أيضًا تمرير مصفوفة من البيانات النصيّة:

logger('User has logged in.', ['id' => $user->id]);

تعيد الدالة نسخة logger إذا لم تمرّر معاملات:

logger()->error('You are not allowed here.');

()method_field

تنشئ الدالة حقل كتابة مخفي يحتوي قيمة طريقة HTTP في الاستمارة. مثلًا، باستعمال صياغة Blade:

<form method="POST">
    {{ method_field('DELETE') }}
</form>

()now

تنشئ الدالة نسخة Illuminate\Support\Carbon للوقت الحالي:

$now = now();

()old

تسترجع الدالة قيمة قديمة حُذفت من الجلسة:

$value = old('value');

$value = old('value', 'default');

()optional

تقبل الدالة معاملا وتسمح لك بالوصول إلى خصائصه، توابعه، أو كائناته . سيعيد الطلب القيمة null بدل إحداث خطأ إذا كانت القيمة الممرّرة null:

return optional($user->address)->street;

{!! old('name', optional($user)->name) !!}

تقبل الدالة أيضًا نداء Closure كمعامل ثاني. ينفَّذ المعامل الثاني إذا كانت قيمة المعامل الأول مخالفة لnull:

return optional(User::find($id), function ($user) {
    return TwitterApi::findUser($user->twitter_id);
});

()policy

تستردّ الدالة نسخة policy لصنف ممرّر:

$policy = policy(App\User::class);

()redirect

تعيد الدالة جواب HTTP لإعادة التوجيه أو تعيد نسخة الموجّه إذا نوديت دون معامل:

return redirect($to = null, $status = 302, $headers = [], $secure = null);

return redirect('/home');

return redirect()->route('route.name');

()report

تبلغ الدالة عن وجود استثناء باستعمال التابع report من معالج الاستثناءات:

report($e);

()request

تعيد الدالة نسخة الطلب الحالي أو تحصل على عنصر إدخال:

$request = request();

$value = request('key', $default);

()rescue

تنفّذ الدالة النطاق المغلق الممرّر Closure و تتلقى كل استثناء مطلق عند تنفيذه. تُرسل كل الاستثناءات للتابع report من معالج الاستثناءات لكن الدالة تكمل العمل:

return rescue(function () {

   return $this->method();
});

يمكنك تمرير معامل ثاني  للدالة rescue يكون القيمة الافتراضية التي تعيدها في حال ظهور استثناء عند تنفيذ Closure:

return rescue(function () {

   return $this->method();
}, false);

return rescue(function () {

   return $this->method();
}, function () {

   return $this->failure();
});

()resolve

تحل الدالة الصنف أو الواجهة الممرّرة باستعمال حاوي الخدمات:

$api = resolve('HelpSpot\API');

()response

تنشئ الدالة نسخة جواب أو تحصل على نسخة من منتج الجواب:

return response('Hello World', 200, $headers);

return response()->json(['foo' => 'bar'], 200, $headers);

()retry

تحاول الدالة تنفيذ النداء الممرّر حتى تصل للحد الأقصى المحدد من المحاولات. إذا لم يطلق النداء أي استثناء، تعيد الدالة retry القيمة المعادة من النداء. إذا أطلق النداء استثناء، تعيد الدالة retry محاولة تنفيذه. إذا وصلت الدالة للحد الأقصى من المحاولات، تطلق الدالة retry الاستثناء:

return retry(5, function () {

  // المحاولة 5 مرات مع الإنتظار 100 جزء من الثانية بين المحاولات
}, 100);

()session

يمكن استعمال الدالة لاسترداد أو تعيين قيم من الجلسة:

$value = session('key');

يمكنك تعيين قيم بتمرير ثنائي مفتاح \ قيمة للدالة:

session(['chairs' => 7, 'instruments' => 3]);

يعاد مخزن الجلسة (session store) إذا نوديت الدالة دون تمرير أي قيمة:

$value = session()->get('key');

session()->put('key', $value);

()tap

تقبل الدالة معاملين : قيمة عشوائية value$ والنطاق المغلق Closure. تمرّر القيمة للنطاق المغلق Closure ثم تعيدها الدالة tap. القيمة التي تعيدها Closure غير مهمة:

$user = tap(User::first(), function ($user) {

   $user->name = 'taylor';
   $user->save();
});

إذا لم تمرّر Closure يمكنك نداء أي تابع مع القيمة value$. تعيد الدالة دائما value$ مهما أعاد التابع المنادى. على سبيل المثال، التابع update من Eloquent يعيد عادة رقمًا لكن بإمكاننا إرغام التابع على إعادة النموذج نفسه عبر إضافة التابع update  للدالة tap:

$user = tap($user)->update([

   'name' => $name,
   'email' => $email,
]);

()today

تنشئ الدالة نسخة Illuminate\Support\Carbon للتاريخ الحالي:

$today = today();

()thow_if

تطلق الدالة الاستثناء الممرّر إذا كانت نتيجة العبارة المنطقية الممرّرة true:

throw_if(! Auth::user()->isAdmin(), AuthorizationException::class);

throw_if(

   ! Auth::user()->isAdmin(),
   AuthorizationException::class,
   'You are not allowed to access this page'
);

()throw_unless

تطلق الدالة الاستثناء الممرّر إذا كانت نتيجة العبارة المنطقية الممرّرة false:

throw_unless(Auth::user()->isAdmin(), AuthorizationException::class);

throw_unless(

   Auth::user()->isAdmin(),
   AuthorizationException::class,
   'You are not allowed to access this page'
);

()trait_uses_recursive

تعيد الدالة كل السمات المستعملة من قبل سمة:

$traits = trait_uses_recursive(\Illuminate\Notifications\Notifiable::class);

()transform

تنفذ الدالة النطاق المغلق Closure على قيمة ممرّرة إذا لم تكن فارغة وتعيد نتيجة النطاق المغلق:

$callback = function ($value) {

   return $value * 2;
};

$result = transform(5, $callback);

// 10

يمكن تمرير قيمة مبدئية أو Closure تعاد حين تكون القيمة الممرّرة فارغة:

$result = transform(null, $callback, 'The value is blank');

// The value is blank

()validator

تنشئ الدالة نسخة validator بالمعامل الممرّر. يمكن استعمال الدالة كبديل عن الواجهة الساكنة Validator لسهولة العمل:

$validator = validator($data, $rules, $messages);

()value

تعيد الدالة القيمة الممرّرة، لكن إذا مرّرت نطاقًا مغلقًا، سينفذ وتعاد نتيجته:

$result = value(true);

// true

$result = value(function () {

   return false;
});

// false

()view

تستردّ الدالة نسخة واجهة:

return view('auth.login');

()with

تعيد الدالة القيمة الممرّرة. إذا مرّرت  نطاقًا مغلقًا Closure كمعامل ثاني للدالة، سينفذ وتعاد نتيجته:

$callback = function ($value) {

   return (is_numeric($value)) ? $value * 2 : 0;
};

$result = with(5, $callback);

// 10

$result = with(null, $callback);

// 0

$result = with(5, null);

// 5

مصادر