راکت

تشیص مقدار prefix برای هر متود

2 پاسخ

سلام دوستان
میخواستم یک سیستم روتینگ شبیه به لاراول بنویسم (جهت تمرین) اما اینجا به مشکل خوردم کد زیر رو مشاهده کنید‌:

use system\Routing\Web\Route;

Route::prefix('admin')->group(function (){
    Route::get('/','HomeController@index');
    Route::any('/home','HomeController@any');
});

Route::prefix('user')->group(function (){
   Route::get('/profile','UserController@index');
   Route::get('/profile/password','UserController@password');
});

چطوری مقداری که متود prefix میگیره رو کتوجه بشم برای کدام از روت گروپا هستش مثلا اینجا به روت گروپ اول نگاه کنید prefix مقدار admin رو داره چطوری تشخیص بدم این مقدار prefix رو تنها برای اون دوتا روتی که داخلش تعریف شده استفاده کنم که مابقی روت ها دیگه این prefix رو نداشته باشن ؟
ممنون

ثبت پرسش جدید

پاسخ‌ها

2
rabco
rabco
@rabco

تخصص: Full Stack developer

کسی نبود راهنمایی کنه ؟؟

نیما  ش
نیما ش
@nimageneral

تخصص: برنامه نویس وب

ببینید شما باید یک پروپرتی در کلاس روت تعریف کنید به عنوان والد، و زمانی که از متد prefix استفاده میکنید، مقدار ارسالی prefix که مثلا شما در بالا یوزر یا ادمین تغریف کردید رو به این متغیر انتصاب بدید و زمان فراخوانی روت ها اول این متغیر والد بررسی شود که روت جاری مربوط به کدام روت والد هست.

Class Route{
public $parent = "";

public static function prefix($input) {

$this->parent = $input;
....

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام