مرحبا يا حبر لقد وافقت مؤخرًا على مراجعة موقع تم طلبه مسبقًا. كنت أتوقع أن أرى وحدات التحكم التي تفعل كل شيء وتحتل أكثر من 200 سطر (وغيرها من مظاهر الكود السيئ) ، ولكن كل شيء كان لائقًا جدًا. لم تكمن التحقق من الصحة في وحدة التحكم ، وهو أمر شائع جدا. في بعض الأحيان ، بالطبع ، كان هناك بعض التناقضات في PSR-2 ، ولكن بدا كل شيء جيدًا حتى بحثت في الملف مع المسارات. احتلت عدة شاشات وكان لها تعليقات حول مجموعات الطرق. اتصلت بالمطور وقال إن كل شيء قد "نما" قليلاً ووافق على إصلاحه. في الإصدار التالي ، رأيت أنه أنشأ عدة فصول بأساليب ثابتة ، نقل إليها الكود ودعاها ، كما يحدث عادة ، بترخيص. بعد ذلك تذكرت أنني قد واجهت هذا بالفعل وواجهت مثل هذه الحجة: "الوثائق لا تذكر أي شيء عن السير في طرق إلى ملفات مختلفة." بعد بضع دقائق فقط ، وجدت مقالة وأرسلتها إلى المطور. بعد نصف ساعة ، تلقيت التوجيهات في شكلها الطبيعي وقررت أن هذه المقالة ستكون مفيدة للعديد من المبتدئين. لذلك ولدت هذه الترجمة المجانية.
إذا لم تقم مطلقًا بتحرير ملف RouteServiceProvider ، مرحبًا بك في cat.
إذا كنت تعمل مع مشروع صغير ولم يكن لديك سوى طريقين ، فلن تكون هناك مشاكل. ولكن عندما يكون عدد المسارات كبيرًا جدًا ، يصبح العمل في ملف واحد أمرًا صعبًا ، خاصةً عندما يكون لديك صفحات لمستخدمين مختلفين أو مسؤولين أو ما إلى ذلك.
في البداية ، تنشئ laravel 4 ملفات:
- api.php
- console.php
- channels.php
- web.php
افترض أنك تخطط لإنشاء مشروع بعشر صفحات لكل نوع من أنواع المستخدمين:
- المسؤول [إعدادات الموقع ، والإحصائيات ، إلخ. ]
- المستخدم [التسجيل ، تسجيل الدخول ، إدارة الملف الشخصي ، إلخ. ]
- الضيوف [المدونة ، جهات الاتصال ، إلخ. ]
قم بإنشاء دليلين داخل
المسارات :
- الويب - فيما يلي جميع المسارات المرتبطة بواجهة الويب.
- api - هنا جميع الطرق المرتبطة API
نقوم بنقل
api.php من
المسارات إلى دليل
المسارات / api و
web.php في
المسارات / الويب ، ونترك ما تبقى من
console.php و
channels.php في المسارات.
قم
بإنشاء ملف
admin.php داخل
المسارات / الويب . سيحتوي هذا الملف على جميع مسارات الويب المرتبطة بالمسؤول ، ثم يقوم بإنشاء
user.php هناك ، للطرق المتعلقة بالمستخدم.
app / Providers / RouteServiceProvider.php - هذا الملف مسؤول عن تنزيل جميع طرق تطبيقنا. تستدعي الطريقة
map () طريقتي mapApiRoutes () و
mapWebRoutes () لتحميل ملفات
web.php و
api.php التي قمنا
بنقلها بالفعل ، لذلك دعونا نصلح المسارات إلى ملفات
التوجيه .
protected function mapWebRoutes() { Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web/web.php')); }
protected function mapApiRoutes() { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api/api.php')); }
قم الآن بإنشاء طرق جديدة للطرق
/ web / admin.php والطرق / web / user.php داخل
RouteServiceProvider.php protected function mapAdminWebRoutes() { Route::middleware('web') ->namespace($this->namespace) ->prefix('admin') ->group(base_path('routes/web/admin.php')); }
protected function mapUserWebRoutes() { Route::middleware('web') ->namespace($this->namespace) ->prefix('user') ->group(base_path('routes/web/user.php')); }
يرجى ملاحظة أنه في هذا الرمز ، يمكن إضافة مساحة الاسم ، الوسيطة ، البادئة ، إلخ. للمسارات.
بعد ذلك ، ما عليك سوى الاتصال بهم من الخريطة ():
public function map() { $this->mapApiRoutes(); $this->mapWebRoutes(); $this->mapAdminWebRoutes(); $this->mapUserWebRoutes(); }
الخطوة الأخيرة:
افتح الطرق / web / user.php وأضف مسار اختبار:
Route::get('/test', function () { return response(' ', 200); });
انتقل إلى site.local / user / test ، يجب أن ترى النص "Test Route".