提问人:Graha Iswara 提问时间:11/13/2023 更新时间:11/13/2023 访问量:60
为什么在Mac和Windows中编写Laravel的路线会有所不同?哪一个是正确的?
Why writing Laravel's route can be differ in Mac & Windows?and which one is correct?
问:
我目前正在开发Laravel应用程序,因为我使用2不同的笔记本电脑和操作系统(Windows和Macbook),我意识到每次我切换PC时,我都必须更改文件web.php中的路由,只是为了使我的应用程序运行良好。
为什么 Windows 和 Mac OS 之间的编写 Laravel 的路线存在差异,我可以编写相同的方法吗?这样我就不需要在每次切换 PC 时修改脚本了。
这是Windows上的工作路线:
Route::get('/movies', 'MovieController@index');
Route::get('/movies/create', 'MovieController@create');
Route::get('/movies/edit/{id}', 'MovieController@edit');
Route::post('/movies/insert', 'MovieController@store');
Route::post('/movies/update', 'MovieController@update');
Route::get('/movies/delete/{id}', 'MovieController@destroy');
这是我的Macbook上的工作路线:
Route::get('/movies', 'App\Http\Controllers\MovieController@index');
Route::get('/movies/create', 'App\Http\Controllers\MovieController@create');
Route::get('/movies/edit/{id}', 'App\Http\Controllers\MovieController@edit');
Route::post('/movies/insert', 'App\Http\Controllers\MovieController@store');
Route::post('/movies/update', 'App\Http\Controllers\MovieController@update');
Route::get('/movies/delete/{id}', 'App\Http\Controllers\MovieController@destroy');
如果我尝试使用未正常工作的应用程序运行我的应用程序,则显示此错误:
这是另一个可能可以帮助您分析的规范:
- PHP 版本 8.1.10
- Composer 版本 2.5.1
- 在 Windows 上,我使用 XAMPP
- 在Macbook上,我使用Nginx
我是否需要更改或调整任何内容才能使我的路线在 Windows 和 Mac OS 中都能正常工作?
请帮忙,如果您需要任何进一步的信息,请告诉我。
谢谢。
答:
2赞
Jarmo T
11/13/2023
#1
您应该使用控制器,然后在路由中引用控制器类。
例如:
<?php
use App\Http\Controllers\MovieController;
Route::get('/movies', [MovieController::class, 'index']);
这也是 Laravel 文档中的做法。
评论
1赞
Álvaro González
11/13/2023
为什么它在 Windows 上运行?
0赞
Nymul Islam Moon
11/13/2023
#2
您必须先导入类
<?php
use App\Http\Controllers\API\Frontend\BlogController;
use App\Http\Controllers\API\Frontend\CategoryController;
use App\Http\Controllers\API\RegisterController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::controller(RegisterController::class)->group(function(){
Route::post('register', 'register');
Route::post('login', 'login');
Route::get('test', 'test');
});
这是一个演示,但如果你仔细观察,你就会明白这一点。有一些扩展可以自动导入 VS Code Laravel-Blade-Snepate 类,或者您可以在 your_code_editor_name 中搜索 YouTube Auto Import Laravel 类。
评论
moviecontroller.php
MovieController.php