在 Laravel 包中验证 Routes/Views?
Auth Routes/Views in Laravel Package?
我一直在为 Laravel 5.2 开发自定义包,现在我正在实施身份验证。
我尝试将 Auth 文件夹添加到我的 resources/views 目录以及我的包目录中所需的具有适当命名空间的控制器。它击中了控制器,但没有看到视图,因为它 returns 错误提示 [auth.login] 未找到。
我尝试将 属性 overides 添加到 AuthController 中:
protected $loginView = 'packagename::auth.login';
protected $registerView = 'packagename::register.form';
protected $linkRequestView = 'packagename::link.request.view';
protected $resetView = 'packagename::reset.view';
但是,它仍然试图访问主 Laravel 应用程序目录中的视图,而不是包中的视图。
在 Laravel 包中设置 Auth 视图、路由等的最佳 practice/proper 方法是什么,以便它可以拥有自己的管理区域?
有很多策略,这取决于应用程序的大小(以及大小)。我可以给你一个命名的例子。
Views: {package-name}::{area}.{module}-{submodule?}.{action}
Routes: {package-name}.{area}.{module}-{submodule?}.{action}
Config: {package-name}.{area}.{rest-of-config-key}
让我解释一下:
{package-name}
- 你应该总是放在前面,你每次都会知道包 view/route/config 来自什么。
{area}
- 例如可以是:admin
and user
and front
or restricted
and open
.它将描述用户的访问级别(例如前面不需要登录用户)。这部分特别适用于创建路由组和过滤(但也适用于协调系统的每个元素)。
{module}
和 {submodule}
- 将告诉您所处的业务逻辑类型。
{action}
- 只是控制器动作的名称
所以这里有与上述相同的示例:
route('mypostpackage.admin.post.index')
route('mypostpackage.admin.post-comment.edit', [$id])
view('mypostpackage::admin.post.show') // in package: views/admin/post/index.blade.php
view('authpackage::restricted.user-address.edit')
这也可用于设计文件的结构(视图和控制器以及您在此约定中使用的任何其他应用程序逻辑)。
请记住,这只是设计的基础,因此您可以根据需要重新设计它。
我一直在为 Laravel 5.2 开发自定义包,现在我正在实施身份验证。
我尝试将 Auth 文件夹添加到我的 resources/views 目录以及我的包目录中所需的具有适当命名空间的控制器。它击中了控制器,但没有看到视图,因为它 returns 错误提示 [auth.login] 未找到。
我尝试将 属性 overides 添加到 AuthController 中:
protected $loginView = 'packagename::auth.login';
protected $registerView = 'packagename::register.form';
protected $linkRequestView = 'packagename::link.request.view';
protected $resetView = 'packagename::reset.view';
但是,它仍然试图访问主 Laravel 应用程序目录中的视图,而不是包中的视图。
在 Laravel 包中设置 Auth 视图、路由等的最佳 practice/proper 方法是什么,以便它可以拥有自己的管理区域?
有很多策略,这取决于应用程序的大小(以及大小)。我可以给你一个命名的例子。
Views: {package-name}::{area}.{module}-{submodule?}.{action}
Routes: {package-name}.{area}.{module}-{submodule?}.{action}
Config: {package-name}.{area}.{rest-of-config-key}
让我解释一下:
{package-name}
- 你应该总是放在前面,你每次都会知道包 view/route/config 来自什么。{area}
- 例如可以是:admin
anduser
andfront
orrestricted
andopen
.它将描述用户的访问级别(例如前面不需要登录用户)。这部分特别适用于创建路由组和过滤(但也适用于协调系统的每个元素)。{module}
和{submodule}
- 将告诉您所处的业务逻辑类型。{action}
- 只是控制器动作的名称
所以这里有与上述相同的示例:
route('mypostpackage.admin.post.index')
route('mypostpackage.admin.post-comment.edit', [$id])
view('mypostpackage::admin.post.show') // in package: views/admin/post/index.blade.php
view('authpackage::restricted.user-address.edit')
这也可用于设计文件的结构(视图和控制器以及您在此约定中使用的任何其他应用程序逻辑)。
请记住,这只是设计的基础,因此您可以根据需要重新设计它。