محسن مهری
4 سال پیش توسط محسن مهری مطرح شد
4 پاسخ

مشکل با تعریف روت ها

سلام - یک توضیح خلاصه بدم
من فایل web.php ام خیلی شلوغ شد برای همون اون رو شکستم به چند فایل

  1. admin.php
  2. company.php
  3. person.php
  4. supplier.php
    اینا هر کدوم یک نوع کاربرن هستند، اما همشون یک سری روت های مشترک دارند برای همون یک کنترلر تعریف کردم و روت های مشترکشون رو اونجا گذاشتم و توی هر کدوم ازاین فایل ها اون تابع مورد نظر رو فراخونی میکنم که نتیجه کار شد این :

    //in each files:  
    use App\\Http\\Controllers\\Route\\RouteClass;  
    RouteClass::RouteProfile();
    //and functions :  
    public static function RouteProfile()  
    {  
    return Route::group(\['prefix'=>'profile'\],function (){  
    Route::get('/','ProfileController@index');  
    Route::get('/notification-management','ProfileController@notification');  
    Route::get('/notification-management','ProfileController@notification')->name('profile.notification');  
    Route::get('/session','ProfileController@sessions');  
    Route::get('/password','ProfileController@password');  
    Route::post('/password','ProfileController@changepassword')->name('profile.password');  
    Route::get('/create','ProfileController@create');  
    Route::post('/create','ProfileController@store');  
    Route::get('/edit','ProfileController@edit');  
    Route::post('/edit','ProfileController@update');  
    });  
    }

    حالا متد های پست کار نمیکنند و همچنین دستور php artisan optimize or php artisan route:cache کارنمیکنه چیکار کنم ؟
    اروری که در ارسال متد پست میده اینه :

The POST method is not supported for this route. Supported methods: GET, HEAD

ثبت پرسش جدید
coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش آپدیت شد
1

خیلی کداتون ناخوانا هست

اگه روت مشترک دارین که توی یکیش بذارین یا خیلی حساس هستین توی وب بذارین

کاری که کردین رو اصلا درک نکردم


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش مطرح شد
0

@coaradsupp - سلام دوست عزیز - ممنون از پاسختون - از اونجایی که توی هر کدوم از این فایل ها یک سری میدلور فراخونی شده (با این که این روت ها مشترک هستند؟!) اما هر کدوم باید توی همون فایل فراخونی بشه تا میدلور های مربوطه روشون فراخونی بشه


shahriar
تخصص : learning .....
@shahriar 4 سال پیش آپدیت شد
1

@mohsen.mehri6101 سلام محسن جان
یکبار روت هاتون رو به صورت ریسورس بزارید ببینید حل میشه ؟
چون من وقتی به این ارور میخورم برای دیباگش اول روت هامو ریسورس میکنم


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
2

این که قصد مرتب سازی کد رو دارید عالی هست اما چرا فایلهای مربوطه رو توی Controllers گذاشتید؟
شما یه سری Route رو گذاشتی داخل یک متد استاتیک.. این شکلی Route هات هیچ وقت رجیستر نمیشند.. برای همینه خطا داری

فایل RouteServiceProvider.php رو باز کنید
۱ داخلش یک متد map هست..
به بدنه متد map یک متد دیگه رو اضافه کن:

$this->loadAdditionalRoutes();

بعد متد loadAdditionalRoutes رو بساز و اصلاعات زیر رو درش قرار بده:

protected function loadAdditionalRoutes()
{
    Route::middleware('web')
        ->namespace($this->namespace)
        ->group(base_path('routes/admin.php'));
}

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

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