问题描述: 在控制器中定义的操作(Action)在不同的URI中无法正常工作。
解决方法:
示例代码:
// routes/web.php
Route::get('/users', 'UserController@index'); // 定义GET请求的/users URI对应的控制器操作为index
// UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
// 控制器操作的代码逻辑
}
}
示例代码:
// routes/web.php
Route::get('/users', 'UserController@index')->middleware('auth'); // 使用auth中间件限制对index操作的访问权限
// UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function __construct()
{
$this->middleware('auth'); // 在构造函数中指定auth中间件,限制对所有操作的访问权限
}
public function index()
{
// 控制器操作的代码逻辑
}
}
示例代码:
// routes/web.php
Route::get('/users', 'UserController@index'); // 定义GET请求的/users URI对应的控制器操作为index
Route::post('/users', 'UserController@store'); // 定义POST请求的/users URI对应的控制器操作为store
// UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
// 控制器操作的代码逻辑
}
public function store(Request $request)
{
// 控制器操作的代码逻辑
}
}
以上是解决“不同URI的控制器操作不起作用”的一些常见方法和示例代码。根据具体情况,可能还需要进一步检查其他因素,如命名空间、路由缓存等。