你好,我是拉威尔的新手,也许这对你们来说太傻了。在laravel 8中,路由web。php我创建了一条如下的路线:
Route::get('/', function () {
return view('login');
});
Route::post('/auth', 'App\Http\Controllers\SiteController@auth');
Route::get('/home', function () {
if (session()->has('username')) return view('home');
else return redirect('/');
});
Route::post('/editprofile', 'App\Http\Controllers\SiteController@edit_profile');
我想问的是,我们也可以从回调视图返回控制器吗?所以在路由 /editprofile中,第二个参数不是'App\Http\Controller\SiteController@edit_profile',而是一个回调函数,如路由'/home'。
Route::post('/home', function () {
if (session()->has('username')) return controller('App\Http\Controllers\SiteController@edit_profile');
else return redirect('/');
});
但是它返回错误哈哈。假设我不想用__construct方法来检查会话。可能吗?提前感谢
首先,,
因为您是从if语句返回的,所以不需要其他语句
这个啊
Route::get('/home', function () {
if (session()->has('username')) return view('home');
else return redirect('/');
});
应该是这样的,;
Route::get('/home', function () {
if (session()->has('username')) {
return view('home');
}
return redirect('/');
});
第二,不必担心路由中的其他部分,只要将其传递给控制器,就可以在其上抛出路由中间件。下面是基本的身份验证中间件,但您也可以创建自己的身份验证中间件
use App\Http\Controllers\UserController;
Route::get('/home', [HomeController::class, 'index'])->middleware('auth');
你可以在这里阅读更多关于中间件的信息https://laravel.com/docs/8.x/middleware
我部署基本Laravel项目到服务器。当我点击我的域名,它返回默认的欢迎视图。当我把简单的道路(见下文)添加到代码中,并尝试在浏览器中输入该路线时,它会返回500个内部错误。除"/"根路由外,所有路由都返回500错误。 文件夹结构: Laravel文件位于Laravel目录中,但来自公共目录的文件位于api目录中。 .api目录中的htaccess文件: 存储目录和其中的所有内容对任何人都是可写、
我有一个简单的Laravel项目。在路由中,我指定返回视图。现在我想另外得到直接在我的公共文件夹与图像,css等,通过添加更多的东西到链接让说将返回我我如何到达文件夹通过?
我使用的Spring Boot版本是2.2.5,Apache Camel版本是3.0.1。
我正在编写一个Spring Boot应用程序。我编写了一个简单的控制器,每当endpoint被命中时就会被调用,但它仍然返回状态404,而不是指定的返回值。 HelloController 现在,每当我调用时,我都会看到控制台日志,但是永远不会返回。邮递员输出: 应用JAVA
我试图利用Laravel5.7中新的签名中间件,但由于某些原因,生成的签名URL返回403个无效签名。 我使用最新的Laravel版本,PHP 7.2 这是我的web.php路线: 这是在我的控制器: 生成URL并显示如下内容: https://example.com/report/1/1?expires=1545440368 但是,当我点击链接时,结果是403,并显示消息:“无效签名” 有什么想
问题内容: 例如我有一个功能: 我怎样才能返回AJAX后得到的? 问题答案: 因为请求是异步的,所以您无法返回ajax请求的结果(而同步ajax请求是一个 糟糕的 主意)。 最好的选择是将自己的回调传递给f1 然后,您将像这样致电: