Laravel中怎么依不同组织加载视图,具体代码是什么
Admin 2022-07-01 群英技术资讯 1059 次浏览
这篇文章给大家分享的是“Laravel中怎么依不同组织加载视图,具体代码是什么”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。一,controller 层定义helper.php 文件
定义全局常量
public function __construct()
{
$this->middleware(function ($request, $next) {
$this->_user = Auth::user();
//全局的数据处理,所有视图共用
$this->_beforeActionInit();
if ($this->_user) {
define('ORG_ID', $this->_user->organization_id);
$this->_currentOrganization = Organization::find(ORG_ID);
} else {
define('ORG_ID', 0);
}
View::share('user', $this->_user);
View::share('currentOrganization', $this->_currentOrganization);
return $next($request);
});
}
/** * 获取对应视图 */if (!function_exists('get_organization_view')) { /** * @param $flag * @return \Illuminate\Config\Repository|mixed */ function get_organization_view($flag, $org_id = 1) { $view = config("view.$flag." . $org_id); if (empty($view)) { throw new RuntimeException('Orgnization Error'); } return $view; }}
//二, config 下定义view.php
return [
'register' => [
1 => 'register.1',
2 => 'register.2'
]
]
// 三,sercive 层定义UserService.php
public function getValidateRule($org_id)
{
$rule = [//验证必填项,确认密码和密码要相同
'userName' => 'required|alpha_num|size:6|regex:/^[a-zA-Z]{3}[0-9]{2}[a-zA-Z]{1}$/',
'password' => 'required|min:6',
'confirmPassword' => 'required|same:password',
];
return $rule;
}
四,view下定义视图
register文件夹下有
1.blade.php,
2.blade.php
//五,controller下引用
/**
* 注册
*/
public function register(Request $request)
{
//提交注册
if ($request->isMethod('post')) {
$credentials = $request->only(['userName', 'password', 'confirmPassword']);//表单提交数据
$rules = UserService::make($location->organization_id)->getValidateRule($location->organization_id);
$validator = Validator::make($credentials, $rules);
if ($validator->fails()) {//验证不通过
return Redirect::back()->withInput()->withErrors($validator);
}
$exists = User::where('name', $credentials['userName'])->first();
if ($exists) {
$result = Lang::has("register.userExists") ? trans("register.userExists") : "User exists";
return $this->_remind('error', $result, 'register');
}
$user = new User();
$user->name = trim($credentials['userName']);
$user->password = bcrypt($credentials['password']);
if ($user->save()) {
//注册成功
return redirect('/login')->with('msg', Lang::has("register.success") ? trans("register.success") : 'Register Success.');
} else {
//注册失败
$validator->errors()->add('other', $user);//如果注册失败会把错误原因返回
return Redirect::back()->withInput()->withErrors($validator);
}
}
return view(get_organization_view('register',$organization_id), ["location" => $location->name]);//加载视图
} catch (\Exception $ex){
$this->_remind('error', $ex->getMessage(),'getActivationCode');
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
当PHP连接到MySQL数据库后,需要向数据库读取数据?那么怎么读取呢?一起来看看。
如何写出优雅耐看的PHP代码?本篇文章带大家了解一下PHP代码的基本书写规范和框架规范,了解它们让你的PHP代码优雅一个档次!
今天小编就为大家分享一篇解决在Laravel 中处理OPTIONS请求的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
在本篇文章里小编给大家整理了一篇关于php访问对象中的成员的实例方法,有需要的朋友们可以跟着学习参考下。
Swoole4为PHP语言提供了强大的CSP协程编程模式,用户可以通过go函数创建一个协程,以达到并发执行的效果。go()函数用于创建协程;Co::yield()使得当前协程让出CPU;Co::resume()可恢复某个协程执行。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008