控制器操作不可用
Controller action is not available
我不熟悉 laravel 但是根据我的红色我做了这个:
我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ChatController extends Controller
{
public function index(Request $request)
{
var_dump(123123);die;
if (!Auth::check()) {
return redirect('/');
}
return 1;
}
}
现在我正尝试像 domain.com/open-chat
那样请求它。我的 web.php
配置是:
Route::get('/open-chat', 'ChatController@index');
但是我被重定向到主页。我检查了中间件控制器是否其中一些重定向了我但没有。其他控制器(我来的时候已经做好了)工作正常。我错过了什么?
编辑
web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/clear-cache', function() {
Artisan::call('cache:clear');
return "Cache is cleared";
});
Route::get('/config-cache', function() {
Artisan::call('config:cache');
return "Config is cleared";
});
Route::get('/view', function() {
Artisan::call('view:clear');
return "View is cleared";
});
/* Route::get('/', function () {
return view('welcome');
}); */
Route::group(['prefix' => 'siteadmin', 'namespace' => 'Admin'], function () {
Route::get('/', 'Auth\LoginController@showLoginForm');
Route::post('login', 'Auth\LoginController@login')->name('admin.login');
Route::post('logout', 'Auth\LoginController@logout')->name('admin.logout');
});
Route::group(['prefix'=>'siteadmin', 'namespace' => 'Admin','middleware' => 'auth'], function () {
Route::get('/dashboard', 'DashboardController@index')->name('dashboard.index');
Route::get('/edit-profile', 'CommonController@editProfile');
Route::post('/updateprofile', 'CommonController@updateprofile');
/**
Routes for site settings
**/
Route::get('/site-settings', 'SiteSettingController@index')->name('sitesettings.index');
Route::post('/site-settings/store', 'SiteSettingController@store')->name('sitesettings.save');
Route::get('/subject-categories', 'SubjectCategoriesController@index')->name('subject-categories.index');
Route::get('/subject-categories/create', 'SubjectCategoriesController@create')->name('subject-categories.create');
Route::post('/subject-categories/store', 'SubjectCategoriesController@store')->name('subject-categories.store');
Route::get('/subject-categories/edit/{id}', 'SubjectCategoriesController@edit')->name('subject-categories.edit');
Route::post('/subject-categories/update/{id}', 'SubjectCategoriesController@update')->name('subject-categories.update');
Route::get('/subject-categories/drop/{id}', 'SubjectCategoriesController@drop')->name('subject-categories.drop');
Route::post('/subject-categories/delete-image/{id}', 'SubjectCategoriesController@deleteImage');
/**
Routes for teachers users
**/
Route::get('/users/teachers', ['middleware'=>'auth','uses'=>'UserController@getTeachersList'])->name('teachers.index');
Route::get('/users/teachers/create', ['middleware'=>'auth','uses'=>'UserController@createTeacher'])->name('teachers.create');
Route::post('/users/teachers/save', ['middleware'=>'auth','uses'=>'UserController@saveTeacher'])->name('teachers.save');
Route::get('/users/teachers/edit/{id}', ['middleware'=>'auth','uses'=>'UserController@editTeacher'])->name('teachers.edit');
Route::get('/users/teachers/show/{id}', ['middleware'=>'auth','uses'=>'UserController@showTeacher'])->name('teachers.show');
Route::post('/users/teachers/update/{id}', ['middleware'=>'auth','uses'=>'UserController@updateTeacher'])->name('teachers.update');
Route::get('/users/teachers/delete/{id}', ['middleware'=>'auth','uses'=>'UserController@deleteTeacher']);
Route::get('/users/teachers/change-status/{id}', ['middleware'=>'auth','uses'=>'UserController@changeTeacherStatus']);
Route::post('/users/get-cities-by-country', ['middleware'=>'auth','uses'=>'UserController@getCitiesByCountry']);
Route::get('/users/teachers/messages/{id}', ['middleware'=>'auth','uses'=>'UserController@getTeacherMessageThreads'])->name('teachers.messages');
Route::get('/users/teachers/view-message/{id}', ['middleware'=>'auth','uses'=>'UserController@getAllMessagesByThreadID'])->name('teacher.view-message');
Route::post('/users/teachers/delete-profile-image/{id}', ['middleware'=>'auth','uses'=>'UserController@deleteTeacherProfileImage']);
/**
Routes for driver users
**/
Route::get('/users/students', ['middleware'=>'auth','uses'=>'UserController@getStudentsList'])->name('students.index');
Route::get('/users/students/create', ['middleware'=>'auth','uses'=>'UserController@createStudent'])->name('students.create');
Route::post('/users/students/save', ['middleware'=>'auth','uses'=>'UserController@saveStudent'])->name('students.save');
Route::get('/users/students/edit/{id}', ['middleware'=>'auth','uses'=>'UserController@editStudent'])->name('students.edit');
Route::get('/users/students/show/{id}', ['middleware'=>'auth','uses'=>'UserController@showStudent'])->name('students.show');
Route::post('/users/students/update/{id}', ['middleware'=>'auth','uses'=>'UserController@updateStudent'])->name('students.update');
Route::get('/users/students/delete/{id}', ['middleware'=>'auth','uses'=>'UserController@deleteStudent']);
Route::get('/users/students/change-status/{id}', ['middleware'=>'auth','uses'=>'UserController@changeStudentStatus']);
/**
Routes for countries
**/
Route::get('/countries', ['middleware'=>'auth','uses'=>'CountryController@index'])->name('countries.index');
Route::get('/countries/create', ['middleware'=>'auth','uses'=>'CountryController@create'])->name('countries.create');
Route::post('/countries/save', ['middleware'=>'auth','uses'=>'CountryController@store'])->name('countries.save');
Route::get('/countries/edit/{id}', ['middleware'=>'auth','uses'=>'CountryController@edit'])->name('countries.edit');
Route::get('/countries/show/{id}', ['middleware'=>'auth','uses'=>'CountryController@show'])->name('countries.show');
Route::post('/countries/update/{id}', ['middleware'=>'auth','uses'=>'CountryController@update'])->name('countries.update');
Route::get('/countries/delete/{id}', ['middleware'=>'auth','uses'=>'CountryController@destroy']);
Route::get('/countries/change-status/{id}', ['middleware'=>'auth','uses'=>'CountryController@changeStatus']);
Route::post('/countries/delete-image/{id}', ['middleware'=>'auth','uses'=>'CountryController@deleteImage']);
/**
Routes for cities
**/
Route::get('/cities', ['middleware'=>'auth','uses'=>'CityController@index'])->name('cities.index');
Route::get('/cities/create', ['middleware'=>'auth','uses'=>'CityController@create'])->name('cities.create');
Route::post('/cities/save', ['middleware'=>'auth','uses'=>'CityController@store'])->name('cities.save');
Route::get('/cities/edit/{id}', ['middleware'=>'auth','uses'=>'CityController@edit'])->name('cities.edit');
Route::get('/cities/show/{id}', ['middleware'=>'auth','uses'=>'CityController@show'])->name('cities.show');
Route::post('/cities/update/{id}', ['middleware'=>'auth','uses'=>'CityController@update'])->name('cities.update');
Route::get('/cities/delete/{id}', ['middleware'=>'auth','uses'=>'CityController@destroy']);
Route::get('/cities/change-status/{id}', ['middleware'=>'auth','uses'=>'CityController@changeStatus']);
Route::post('/cities/delete-image/{id}', ['middleware'=>'auth','uses'=>'CityController@deleteImage']);
/**
Routes for subjects
**/
Route::get('/subjects', ['middleware'=>'auth','uses'=>'SubjectController@index'])->name('subjects.index');
Route::get('/subjects/create', ['middleware'=>'auth','uses'=>'SubjectController@create'])->name('subjects.create');
Route::post('/subjects/save', ['middleware'=>'auth','uses'=>'SubjectController@store'])->name('subjects.save');
Route::get('/subjects/edit/{id}', ['middleware'=>'auth','uses'=>'SubjectController@edit'])->name('subjects.edit');
Route::get('/subjects/show/{id}', ['middleware'=>'auth','uses'=>'SubjectController@show'])->name('subjects.show');
Route::post('/subjects/update/{id}', ['middleware'=>'auth','uses'=>'SubjectController@update'])->name('subjects.update');
Route::get('/subjects/delete/{id}', ['middleware'=>'auth','uses'=>'SubjectController@destroy']);
Route::get('/subjects/change-status/{id}', ['middleware'=>'auth','uses'=>'SubjectController@changeStatus']);
/**
Routes for classes
**/
Route::get('/classes', ['middleware'=>'auth','uses'=>'ClassController@index'])->name('classes.index');
Route::get('/classes/create', ['middleware'=>'auth','uses'=>'ClassController@create'])->name('classes.create');
Route::post('/classes/save', ['middleware'=>'auth','uses'=>'ClassController@store'])->name('classes.save');
Route::get('/classes/edit/{id}', ['middleware'=>'auth','uses'=>'ClassController@edit'])->name('classes.edit');
Route::get('/classes/show/{id}', ['middleware'=>'auth','uses'=>'ClassController@show'])->name('classes.show');
Route::post('/classes/update/{id}', ['middleware'=>'auth','uses'=>'ClassController@update'])->name('classes.update');
Route::get('/classes/delete/{id}', ['middleware'=>'auth','uses'=>'ClassController@destroy']);
Route::get('/classes/change-status/{id}', ['middleware'=>'auth','uses'=>'ClassController@changeStatus']);
Route::post('/classes/get-subjects-by-category', ['middleware'=>'auth','uses'=>'ClassController@getSubjectsByCategory']);
/**
Routes for sliders
**/
Route::get('/sliders', 'SliderController@index')->name('sliders.index');
Route::get('/sliders/create', 'SliderController@create')->name('sliders.create');
Route::post('/sliders/store', 'SliderController@store')->name('sliders.save');
Route::get('/sliders/edit/{id}', 'SliderController@edit')->name('sliders.edit');
Route::post('/sliders/update/{id}', 'SliderController@update')->name('sliders.update');
Route::get('/sliders/delete/{id}', 'SliderController@destroy')->name('sliders.delete');
Route::get('/sliders/change-status/{id}', ['middleware'=>'auth','uses'=>'SliderController@changeStatus']);
Route::post('/sliders/delete-image/{id}', 'SliderController@deleteImage');
/**
Routes for teacher classes
**/
Route::get('/teacher-classes', 'TeacherClassController@index')->name('teacher-classes.index');
Route::get('/teacher-classes/create', 'TeacherClassController@create')->name('teacher-classes.create');
Route::post('/teacher-classes/store', 'TeacherClassController@store')->name('teacher-classes.save');
Route::get('/teacher-classes/edit/{id}', 'TeacherClassController@edit')->name('teacher-classes.edit');
Route::post('/teacher-classes/update/{id}', 'TeacherClassController@update')->name('teacher-classes.update');
Route::get('/teacher-classes/delete/{id}', 'TeacherClassController@destroy')->name('teacher-classes.delete');
Route::post('/teacher-classes/get-subjects-by-category', 'TeacherClassController@getSubjectsByCategory');
Route::post('/teacher-classes/get-classes-by-category-and-subject', 'TeacherClassController@getClassesBySubjectAndCategory');
/**
Routes for orders
**/
Route::get('/orders', 'OrderController@index')->name('orders.index');
Route::get('/orders/show/{id}', 'OrderController@show')->name('orders.show');
Route::get('/orders/export-orders', 'OrderController@exportOrders')->name('orders.export-orders');
/**
Routes for bookings
**/
Route::get('/bookings', 'BookingController@index')->name('bookings.index');
Route::get('/bookings/teacher-bookings/{teacher_id}', 'BookingController@getTeacherAllBookings')->name('bookings.bookings');
Route::get('/bookings/show/{id}', 'BookingController@show')->name('bookings.show');
Route::get('/bookings/export-teacher-bookings/{teacher_id}', 'BookingController@exportTeacherBookings')->name('bookings.export-teacher-bookings');
/**
Routes for bookings
**/
Route::get('/messages', 'MessageController@index')->name('messages.index');
Route::get('/messages/show/{id}', 'MessageController@show')->name('messages.show');
/**
Routes for reviews
**/
Route::get('/reviews', 'ReviewController@index')->name('reviews.index');
Route::get('/reviews/show/{id}', 'ReviewController@show')->name('reviews.show');
/**
Routes for blogs
**/
Route::get('/blogs', 'BlogController@index')->name('blogs.index');
Route::get('/blogs/create', 'BlogController@create')->name('blogs.create');
Route::post('/blogs/store', 'BlogController@store')->name('blogs.save');
Route::get('/blogs/edit/{id}', 'BlogController@edit')->name('blogs.edit');
Route::post('/blogs/update/{id}', 'BlogController@update')->name('blogs.update');
Route::get('/blogs/delete/{id}', 'BlogController@destroy')->name('blogs.delete');
Route::get('/blogs/change-status/{id}', ['middleware'=>'auth','uses'=>'BlogController@changeStatus']);
Route::post('/blogs/delete-image/{id}', 'BlogController@deleteImage');
});
Auth::routes();
Route::get('{locale?}', 'HomeController@index');
Route::get('/en', 'HomeController@index');
Route::get('/open-chat', 'ChatController@index');
Route::get('/ar', 'HomeController@index');
Route::get('/home', 'HomeController@index')->name('home');
Route::post('/get-cities-by-country', 'SearchController@getCitiesByCountry');
Route::post('/get-subjects-by-category', 'SearchController@getSubjectsByCategory');
Route::post('/register', 'CommonController@register');
Route::post('/login', 'CommonController@login');
Route::post('/forgot-password', 'CommonController@forgotPassword');
Route::get('/{locale?}/reset-password/{token}', 'CommonController@resetPassword');
Route::post('/{locale?}/resetpassword', 'CommonController@resetNewPassword')->name('reset-pass');
Route::get('/{locale?}/classes/search', 'ClassController@searchClasses')->name('search');
Route::get('/{locale?}/classes/all-cities', 'ClassController@getAllCitiesClasses');
Route::get('/{locale?}/classes/{type}/{id}', 'ClassController@getClassesByType');
Route::get('/{locale?}/view-class/{id}', 'ClassController@viewTeacherClassDetails')->name('view-class');
Route::get('/{locale?}/finish-class/{id}', 'ClassController@finishTeacherClass')->name('finish-class');
Route::post('/create-booking', 'CommonController@createBooking');
Route::post('/{locale?}/submit-review', 'CommonController@submitReview');
Route::get('/{locale?}/blogs', 'HomeController@getAllBlogs')->name('blogs');
Route::get('/{locale?}/blogs/{slug}', 'HomeController@getBlogDetails')->name('blogs.detail');
Route::get('/paypal/checkout/{order}/completed', [
'name' => 'PayPal Express Checkout',
'as' => 'paypal.checkout.completed',
'uses' => 'User\BookingController@completed',
]);
Route::get('/paypal/checkout/{order}/cancelled', [
'name' => 'PayPal Express Checkout',
'as' => 'paypal.checkout.cancelled',
'uses' => 'User\BookingController@cancelled',
]);
Route::post('/webhook/paypal/{order?}/{env?}', [
'name' => 'PayPal Express IPN',
'as' => 'webhook.paypal.ipn',
'uses' => 'User\BookingController@webhook',
]);
/**
User dashboard routes start
**/
Route::group(['prefix'=>'{locale?}/user', 'namespace' => 'User','middleware' => 'auth'], function () {
Route::get('/dashboard', 'DashboardController@index')->name('user.dashboard');
Route::get('/edit-profile', ['uses'=>'ProfileController@editProfile'])->name('user.edit-profile');
Route::post('/update-profile/{id}', ['uses'=>'ProfileController@updateProfile'])->name('user.update-profile');
Route::post('/update-image/{id}', ['uses'=>'ProfileController@updateUserImage'])->name('user.update-image');
Route::get('/change-password', ['uses'=>'ProfileController@changePassword'])->name('user.change-password');
Route::post('/update-password', ['uses'=>'ProfileController@updatePassword'])->name('user.update-password');
Route::get('/my-classes', ['uses'=>'ClassController@getTeacherClasses'])->name('user.my-classes');
Route::get('/my-classes/add-new-class', ['uses'=>'ClassController@createNewClass'])->name('user.add-new-class');
Route::post('/my-classes/save-class', ['uses'=>'ClassController@saveClass'])->name('user.save-class');
Route::get('/my-classes/edit-class/{id}', ['uses'=>'ClassController@editClass'])->name('user.edit-class');
Route::post('/my-classes/update-class/{id}', ['uses'=>'ClassController@updateClass'])->name('user.update-class');
Route::get('/my-classes/delete-class/{id}', ['uses'=>'ClassController@deleteClass']);
Route::post('/get-subjects-by-category', ['uses'=>'ClassController@getSubjectsByCategory']);
Route::post('/get-classes-by-category-and-subject', ['uses'=>'ClassController@getClassesByCategoryAndSubject']);
Route::get('/my-bookings', ['uses'=>'BookingController@getAllBookings'])->name('user.my-bookings');
Route::get('/my-bookings/view-booking-details/{id}', ['uses'=>'BookingController@viewBookingDetails'])->name('user.view-booking-details');
Route::get('/my-bookings/cancel-booking/{type}/{id}', ['uses'=>'BookingController@cancelBooking']);
Route::get('/my-bookings/accept-booking/{id}', ['uses'=>'BookingController@acceptBooking']);
Route::post('/make-a-payment', ['uses'=>'BookingController@makePayment'])->name('user.make-payment');
Route::get('/my-orders', ['uses'=>'OrderController@getAllOrders'])->name('user.my-orders');
Route::get('/messages', ['uses'=>'MessageController@getMessageThreads'])->name('user.messages');
Route::get('/messages/view-messages/{thread_id}', ['uses'=>'MessageController@getAllMessagesByThreadID'])->name('user.view-messages');
Route::post('/messages/send-message', ['uses'=>'MessageController@sendMessage']);
Route::get('/reviews', ['uses'=>'BookingController@getAllReviews'])->name('user.reviews');
});
扩展Controller.php
:
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
正常,var_dump 没有停止脚本,die
应该是 die()
。相反,使用 dd(123123)
。控制器一切正常。
由于该路由没有auth中间件,我们可以假设该路由对所有人开放。在控制器中,您正在检查使用是否经过身份验证,如果没有,则重定向到 /
.
此规则 Route::get('{locale?}', 'HomeController@index');
捕获所有路由,因为它始终为真。所以 Laravel 遵循这条路线。
问题不在于 Route::get('/open-chat', 'ChatController@index');
如果您在该路由之后放置任何路由,它将无法正常工作。
我们通常使用它来捕获所有请求转发到 Vuejs 路由器或显示 404 消息等地方。
Route::any('{catchall}', 'CatchAllController@handle')->where('catchall', '.*');
这些都差不多。如果你把 Route::get('{locale?}', 'HomeController@index');
放在路由器文件的末尾,一切都会正常工作。
我不熟悉 laravel 但是根据我的红色我做了这个: 我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ChatController extends Controller
{
public function index(Request $request)
{
var_dump(123123);die;
if (!Auth::check()) {
return redirect('/');
}
return 1;
}
}
现在我正尝试像 domain.com/open-chat
那样请求它。我的 web.php
配置是:
Route::get('/open-chat', 'ChatController@index');
但是我被重定向到主页。我检查了中间件控制器是否其中一些重定向了我但没有。其他控制器(我来的时候已经做好了)工作正常。我错过了什么?
编辑 web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/clear-cache', function() {
Artisan::call('cache:clear');
return "Cache is cleared";
});
Route::get('/config-cache', function() {
Artisan::call('config:cache');
return "Config is cleared";
});
Route::get('/view', function() {
Artisan::call('view:clear');
return "View is cleared";
});
/* Route::get('/', function () {
return view('welcome');
}); */
Route::group(['prefix' => 'siteadmin', 'namespace' => 'Admin'], function () {
Route::get('/', 'Auth\LoginController@showLoginForm');
Route::post('login', 'Auth\LoginController@login')->name('admin.login');
Route::post('logout', 'Auth\LoginController@logout')->name('admin.logout');
});
Route::group(['prefix'=>'siteadmin', 'namespace' => 'Admin','middleware' => 'auth'], function () {
Route::get('/dashboard', 'DashboardController@index')->name('dashboard.index');
Route::get('/edit-profile', 'CommonController@editProfile');
Route::post('/updateprofile', 'CommonController@updateprofile');
/**
Routes for site settings
**/
Route::get('/site-settings', 'SiteSettingController@index')->name('sitesettings.index');
Route::post('/site-settings/store', 'SiteSettingController@store')->name('sitesettings.save');
Route::get('/subject-categories', 'SubjectCategoriesController@index')->name('subject-categories.index');
Route::get('/subject-categories/create', 'SubjectCategoriesController@create')->name('subject-categories.create');
Route::post('/subject-categories/store', 'SubjectCategoriesController@store')->name('subject-categories.store');
Route::get('/subject-categories/edit/{id}', 'SubjectCategoriesController@edit')->name('subject-categories.edit');
Route::post('/subject-categories/update/{id}', 'SubjectCategoriesController@update')->name('subject-categories.update');
Route::get('/subject-categories/drop/{id}', 'SubjectCategoriesController@drop')->name('subject-categories.drop');
Route::post('/subject-categories/delete-image/{id}', 'SubjectCategoriesController@deleteImage');
/**
Routes for teachers users
**/
Route::get('/users/teachers', ['middleware'=>'auth','uses'=>'UserController@getTeachersList'])->name('teachers.index');
Route::get('/users/teachers/create', ['middleware'=>'auth','uses'=>'UserController@createTeacher'])->name('teachers.create');
Route::post('/users/teachers/save', ['middleware'=>'auth','uses'=>'UserController@saveTeacher'])->name('teachers.save');
Route::get('/users/teachers/edit/{id}', ['middleware'=>'auth','uses'=>'UserController@editTeacher'])->name('teachers.edit');
Route::get('/users/teachers/show/{id}', ['middleware'=>'auth','uses'=>'UserController@showTeacher'])->name('teachers.show');
Route::post('/users/teachers/update/{id}', ['middleware'=>'auth','uses'=>'UserController@updateTeacher'])->name('teachers.update');
Route::get('/users/teachers/delete/{id}', ['middleware'=>'auth','uses'=>'UserController@deleteTeacher']);
Route::get('/users/teachers/change-status/{id}', ['middleware'=>'auth','uses'=>'UserController@changeTeacherStatus']);
Route::post('/users/get-cities-by-country', ['middleware'=>'auth','uses'=>'UserController@getCitiesByCountry']);
Route::get('/users/teachers/messages/{id}', ['middleware'=>'auth','uses'=>'UserController@getTeacherMessageThreads'])->name('teachers.messages');
Route::get('/users/teachers/view-message/{id}', ['middleware'=>'auth','uses'=>'UserController@getAllMessagesByThreadID'])->name('teacher.view-message');
Route::post('/users/teachers/delete-profile-image/{id}', ['middleware'=>'auth','uses'=>'UserController@deleteTeacherProfileImage']);
/**
Routes for driver users
**/
Route::get('/users/students', ['middleware'=>'auth','uses'=>'UserController@getStudentsList'])->name('students.index');
Route::get('/users/students/create', ['middleware'=>'auth','uses'=>'UserController@createStudent'])->name('students.create');
Route::post('/users/students/save', ['middleware'=>'auth','uses'=>'UserController@saveStudent'])->name('students.save');
Route::get('/users/students/edit/{id}', ['middleware'=>'auth','uses'=>'UserController@editStudent'])->name('students.edit');
Route::get('/users/students/show/{id}', ['middleware'=>'auth','uses'=>'UserController@showStudent'])->name('students.show');
Route::post('/users/students/update/{id}', ['middleware'=>'auth','uses'=>'UserController@updateStudent'])->name('students.update');
Route::get('/users/students/delete/{id}', ['middleware'=>'auth','uses'=>'UserController@deleteStudent']);
Route::get('/users/students/change-status/{id}', ['middleware'=>'auth','uses'=>'UserController@changeStudentStatus']);
/**
Routes for countries
**/
Route::get('/countries', ['middleware'=>'auth','uses'=>'CountryController@index'])->name('countries.index');
Route::get('/countries/create', ['middleware'=>'auth','uses'=>'CountryController@create'])->name('countries.create');
Route::post('/countries/save', ['middleware'=>'auth','uses'=>'CountryController@store'])->name('countries.save');
Route::get('/countries/edit/{id}', ['middleware'=>'auth','uses'=>'CountryController@edit'])->name('countries.edit');
Route::get('/countries/show/{id}', ['middleware'=>'auth','uses'=>'CountryController@show'])->name('countries.show');
Route::post('/countries/update/{id}', ['middleware'=>'auth','uses'=>'CountryController@update'])->name('countries.update');
Route::get('/countries/delete/{id}', ['middleware'=>'auth','uses'=>'CountryController@destroy']);
Route::get('/countries/change-status/{id}', ['middleware'=>'auth','uses'=>'CountryController@changeStatus']);
Route::post('/countries/delete-image/{id}', ['middleware'=>'auth','uses'=>'CountryController@deleteImage']);
/**
Routes for cities
**/
Route::get('/cities', ['middleware'=>'auth','uses'=>'CityController@index'])->name('cities.index');
Route::get('/cities/create', ['middleware'=>'auth','uses'=>'CityController@create'])->name('cities.create');
Route::post('/cities/save', ['middleware'=>'auth','uses'=>'CityController@store'])->name('cities.save');
Route::get('/cities/edit/{id}', ['middleware'=>'auth','uses'=>'CityController@edit'])->name('cities.edit');
Route::get('/cities/show/{id}', ['middleware'=>'auth','uses'=>'CityController@show'])->name('cities.show');
Route::post('/cities/update/{id}', ['middleware'=>'auth','uses'=>'CityController@update'])->name('cities.update');
Route::get('/cities/delete/{id}', ['middleware'=>'auth','uses'=>'CityController@destroy']);
Route::get('/cities/change-status/{id}', ['middleware'=>'auth','uses'=>'CityController@changeStatus']);
Route::post('/cities/delete-image/{id}', ['middleware'=>'auth','uses'=>'CityController@deleteImage']);
/**
Routes for subjects
**/
Route::get('/subjects', ['middleware'=>'auth','uses'=>'SubjectController@index'])->name('subjects.index');
Route::get('/subjects/create', ['middleware'=>'auth','uses'=>'SubjectController@create'])->name('subjects.create');
Route::post('/subjects/save', ['middleware'=>'auth','uses'=>'SubjectController@store'])->name('subjects.save');
Route::get('/subjects/edit/{id}', ['middleware'=>'auth','uses'=>'SubjectController@edit'])->name('subjects.edit');
Route::get('/subjects/show/{id}', ['middleware'=>'auth','uses'=>'SubjectController@show'])->name('subjects.show');
Route::post('/subjects/update/{id}', ['middleware'=>'auth','uses'=>'SubjectController@update'])->name('subjects.update');
Route::get('/subjects/delete/{id}', ['middleware'=>'auth','uses'=>'SubjectController@destroy']);
Route::get('/subjects/change-status/{id}', ['middleware'=>'auth','uses'=>'SubjectController@changeStatus']);
/**
Routes for classes
**/
Route::get('/classes', ['middleware'=>'auth','uses'=>'ClassController@index'])->name('classes.index');
Route::get('/classes/create', ['middleware'=>'auth','uses'=>'ClassController@create'])->name('classes.create');
Route::post('/classes/save', ['middleware'=>'auth','uses'=>'ClassController@store'])->name('classes.save');
Route::get('/classes/edit/{id}', ['middleware'=>'auth','uses'=>'ClassController@edit'])->name('classes.edit');
Route::get('/classes/show/{id}', ['middleware'=>'auth','uses'=>'ClassController@show'])->name('classes.show');
Route::post('/classes/update/{id}', ['middleware'=>'auth','uses'=>'ClassController@update'])->name('classes.update');
Route::get('/classes/delete/{id}', ['middleware'=>'auth','uses'=>'ClassController@destroy']);
Route::get('/classes/change-status/{id}', ['middleware'=>'auth','uses'=>'ClassController@changeStatus']);
Route::post('/classes/get-subjects-by-category', ['middleware'=>'auth','uses'=>'ClassController@getSubjectsByCategory']);
/**
Routes for sliders
**/
Route::get('/sliders', 'SliderController@index')->name('sliders.index');
Route::get('/sliders/create', 'SliderController@create')->name('sliders.create');
Route::post('/sliders/store', 'SliderController@store')->name('sliders.save');
Route::get('/sliders/edit/{id}', 'SliderController@edit')->name('sliders.edit');
Route::post('/sliders/update/{id}', 'SliderController@update')->name('sliders.update');
Route::get('/sliders/delete/{id}', 'SliderController@destroy')->name('sliders.delete');
Route::get('/sliders/change-status/{id}', ['middleware'=>'auth','uses'=>'SliderController@changeStatus']);
Route::post('/sliders/delete-image/{id}', 'SliderController@deleteImage');
/**
Routes for teacher classes
**/
Route::get('/teacher-classes', 'TeacherClassController@index')->name('teacher-classes.index');
Route::get('/teacher-classes/create', 'TeacherClassController@create')->name('teacher-classes.create');
Route::post('/teacher-classes/store', 'TeacherClassController@store')->name('teacher-classes.save');
Route::get('/teacher-classes/edit/{id}', 'TeacherClassController@edit')->name('teacher-classes.edit');
Route::post('/teacher-classes/update/{id}', 'TeacherClassController@update')->name('teacher-classes.update');
Route::get('/teacher-classes/delete/{id}', 'TeacherClassController@destroy')->name('teacher-classes.delete');
Route::post('/teacher-classes/get-subjects-by-category', 'TeacherClassController@getSubjectsByCategory');
Route::post('/teacher-classes/get-classes-by-category-and-subject', 'TeacherClassController@getClassesBySubjectAndCategory');
/**
Routes for orders
**/
Route::get('/orders', 'OrderController@index')->name('orders.index');
Route::get('/orders/show/{id}', 'OrderController@show')->name('orders.show');
Route::get('/orders/export-orders', 'OrderController@exportOrders')->name('orders.export-orders');
/**
Routes for bookings
**/
Route::get('/bookings', 'BookingController@index')->name('bookings.index');
Route::get('/bookings/teacher-bookings/{teacher_id}', 'BookingController@getTeacherAllBookings')->name('bookings.bookings');
Route::get('/bookings/show/{id}', 'BookingController@show')->name('bookings.show');
Route::get('/bookings/export-teacher-bookings/{teacher_id}', 'BookingController@exportTeacherBookings')->name('bookings.export-teacher-bookings');
/**
Routes for bookings
**/
Route::get('/messages', 'MessageController@index')->name('messages.index');
Route::get('/messages/show/{id}', 'MessageController@show')->name('messages.show');
/**
Routes for reviews
**/
Route::get('/reviews', 'ReviewController@index')->name('reviews.index');
Route::get('/reviews/show/{id}', 'ReviewController@show')->name('reviews.show');
/**
Routes for blogs
**/
Route::get('/blogs', 'BlogController@index')->name('blogs.index');
Route::get('/blogs/create', 'BlogController@create')->name('blogs.create');
Route::post('/blogs/store', 'BlogController@store')->name('blogs.save');
Route::get('/blogs/edit/{id}', 'BlogController@edit')->name('blogs.edit');
Route::post('/blogs/update/{id}', 'BlogController@update')->name('blogs.update');
Route::get('/blogs/delete/{id}', 'BlogController@destroy')->name('blogs.delete');
Route::get('/blogs/change-status/{id}', ['middleware'=>'auth','uses'=>'BlogController@changeStatus']);
Route::post('/blogs/delete-image/{id}', 'BlogController@deleteImage');
});
Auth::routes();
Route::get('{locale?}', 'HomeController@index');
Route::get('/en', 'HomeController@index');
Route::get('/open-chat', 'ChatController@index');
Route::get('/ar', 'HomeController@index');
Route::get('/home', 'HomeController@index')->name('home');
Route::post('/get-cities-by-country', 'SearchController@getCitiesByCountry');
Route::post('/get-subjects-by-category', 'SearchController@getSubjectsByCategory');
Route::post('/register', 'CommonController@register');
Route::post('/login', 'CommonController@login');
Route::post('/forgot-password', 'CommonController@forgotPassword');
Route::get('/{locale?}/reset-password/{token}', 'CommonController@resetPassword');
Route::post('/{locale?}/resetpassword', 'CommonController@resetNewPassword')->name('reset-pass');
Route::get('/{locale?}/classes/search', 'ClassController@searchClasses')->name('search');
Route::get('/{locale?}/classes/all-cities', 'ClassController@getAllCitiesClasses');
Route::get('/{locale?}/classes/{type}/{id}', 'ClassController@getClassesByType');
Route::get('/{locale?}/view-class/{id}', 'ClassController@viewTeacherClassDetails')->name('view-class');
Route::get('/{locale?}/finish-class/{id}', 'ClassController@finishTeacherClass')->name('finish-class');
Route::post('/create-booking', 'CommonController@createBooking');
Route::post('/{locale?}/submit-review', 'CommonController@submitReview');
Route::get('/{locale?}/blogs', 'HomeController@getAllBlogs')->name('blogs');
Route::get('/{locale?}/blogs/{slug}', 'HomeController@getBlogDetails')->name('blogs.detail');
Route::get('/paypal/checkout/{order}/completed', [
'name' => 'PayPal Express Checkout',
'as' => 'paypal.checkout.completed',
'uses' => 'User\BookingController@completed',
]);
Route::get('/paypal/checkout/{order}/cancelled', [
'name' => 'PayPal Express Checkout',
'as' => 'paypal.checkout.cancelled',
'uses' => 'User\BookingController@cancelled',
]);
Route::post('/webhook/paypal/{order?}/{env?}', [
'name' => 'PayPal Express IPN',
'as' => 'webhook.paypal.ipn',
'uses' => 'User\BookingController@webhook',
]);
/**
User dashboard routes start
**/
Route::group(['prefix'=>'{locale?}/user', 'namespace' => 'User','middleware' => 'auth'], function () {
Route::get('/dashboard', 'DashboardController@index')->name('user.dashboard');
Route::get('/edit-profile', ['uses'=>'ProfileController@editProfile'])->name('user.edit-profile');
Route::post('/update-profile/{id}', ['uses'=>'ProfileController@updateProfile'])->name('user.update-profile');
Route::post('/update-image/{id}', ['uses'=>'ProfileController@updateUserImage'])->name('user.update-image');
Route::get('/change-password', ['uses'=>'ProfileController@changePassword'])->name('user.change-password');
Route::post('/update-password', ['uses'=>'ProfileController@updatePassword'])->name('user.update-password');
Route::get('/my-classes', ['uses'=>'ClassController@getTeacherClasses'])->name('user.my-classes');
Route::get('/my-classes/add-new-class', ['uses'=>'ClassController@createNewClass'])->name('user.add-new-class');
Route::post('/my-classes/save-class', ['uses'=>'ClassController@saveClass'])->name('user.save-class');
Route::get('/my-classes/edit-class/{id}', ['uses'=>'ClassController@editClass'])->name('user.edit-class');
Route::post('/my-classes/update-class/{id}', ['uses'=>'ClassController@updateClass'])->name('user.update-class');
Route::get('/my-classes/delete-class/{id}', ['uses'=>'ClassController@deleteClass']);
Route::post('/get-subjects-by-category', ['uses'=>'ClassController@getSubjectsByCategory']);
Route::post('/get-classes-by-category-and-subject', ['uses'=>'ClassController@getClassesByCategoryAndSubject']);
Route::get('/my-bookings', ['uses'=>'BookingController@getAllBookings'])->name('user.my-bookings');
Route::get('/my-bookings/view-booking-details/{id}', ['uses'=>'BookingController@viewBookingDetails'])->name('user.view-booking-details');
Route::get('/my-bookings/cancel-booking/{type}/{id}', ['uses'=>'BookingController@cancelBooking']);
Route::get('/my-bookings/accept-booking/{id}', ['uses'=>'BookingController@acceptBooking']);
Route::post('/make-a-payment', ['uses'=>'BookingController@makePayment'])->name('user.make-payment');
Route::get('/my-orders', ['uses'=>'OrderController@getAllOrders'])->name('user.my-orders');
Route::get('/messages', ['uses'=>'MessageController@getMessageThreads'])->name('user.messages');
Route::get('/messages/view-messages/{thread_id}', ['uses'=>'MessageController@getAllMessagesByThreadID'])->name('user.view-messages');
Route::post('/messages/send-message', ['uses'=>'MessageController@sendMessage']);
Route::get('/reviews', ['uses'=>'BookingController@getAllReviews'])->name('user.reviews');
});
扩展Controller.php
:
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
正常,var_dump 没有停止脚本,die
应该是 die()
。相反,使用 dd(123123)
。控制器一切正常。
由于该路由没有auth中间件,我们可以假设该路由对所有人开放。在控制器中,您正在检查使用是否经过身份验证,如果没有,则重定向到 /
.
此规则 Route::get('{locale?}', 'HomeController@index');
捕获所有路由,因为它始终为真。所以 Laravel 遵循这条路线。
问题不在于 Route::get('/open-chat', 'ChatController@index');
如果您在该路由之后放置任何路由,它将无法正常工作。
我们通常使用它来捕获所有请求转发到 Vuejs 路由器或显示 404 消息等地方。
Route::any('{catchall}', 'CatchAllController@handle')->where('catchall', '.*');
这些都差不多。如果你把 Route::get('{locale?}', 'HomeController@index');
放在路由器文件的末尾,一切都会正常工作。