Emad Saif نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 (معدل) لدي مجموعة من النطاقات الفرعية subdomains وفي كل نطاق فرعي لدي نفس المسارات تمامًا، وحاليًا أقوم بكتابة الكود بالشكل التالي: Route::group(array('domain' => array('dashboard.example.com')), function() { // ... }); Route::group(array('domain' => array('dev.example.com')), function() { // ... }); في الكود السابق أقوم بكتابة نفس المسارات مرتين مما يجعل الكود مكررًا بدون فائدة. هل توجد طريقة لتجميع النطاقات معًا في لارافيل Laravel بدلًا من تكرار الكود بالشكل التالي؟ Route::group(array('domain' => array('dev.example.com','dashboard.example.com')), function() { // ... }); تم التعديل في 26 مارس 2022 بواسطة Emad Saif 1 اقتباس
1 Adnane Kadri نشر 26 مارس 2022 أرسل تقرير نشر 26 مارس 2022 السبب وراء هاته الفكرة ليس واضحا، ولكن كون المعامل الثاني الذي يستقبله التابع group عبارة عن شيفرة تنفذ executable فسيمكنك بنفس المنطق تحقيق ذلك عن طريق تعريف كامل مساراتك بشكل منفصل وحقنها كمعامل ثان في كل تعريف للنطاقين الفرعين، يكون ذلك كـ: $my_routes = function() { Route::get('/home', HomeController::class); Route::get('/admin', AdminController::class); }; Route::group(array('domain' => 'app.example.com'), $my_routes); Route::group(array('domain' => 'dashboard.example.com'), $my_routes); 1 اقتباس
0 بلال زيادة نشر 27 مارس 2022 أرسل تقرير نشر 27 مارس 2022 من خلال جلب اسم النطاق من خلال الدالة التالية $domain = request()->getHost(); و من ثم التحقق من وجود هذا النطاق في مصفوفة النطاقات كالتالي $domain = request()->getHost(); if(in_array($domain, $domains)){ Route::group(['domain' => $domain], $definition); } يمكننا تجميع النطاقات المكررة بداخل group و بالتالي تكون دالة تجميع النطاقات كالتالي Route::macro("domain", function(array $domains, \Closure $definition) { $domain = request()->getHost(); if(in_array($domain, $domains)){ Route::group(['domain' => $domain], $definition); } }); اقتباس
السؤال
Emad Saif
لدي مجموعة من النطاقات الفرعية subdomains وفي كل نطاق فرعي لدي نفس المسارات تمامًا، وحاليًا أقوم بكتابة الكود بالشكل التالي:
في الكود السابق أقوم بكتابة نفس المسارات مرتين مما يجعل الكود مكررًا بدون فائدة.
هل توجد طريقة لتجميع النطاقات معًا في لارافيل Laravel بدلًا من تكرار الكود بالشكل التالي؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.