gpt4 book ai didi

laravel 根据不同组织加载不同视图的实现

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章laravel 根据不同组织加载不同视图的实现由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

一,controller 层定义helper.php 文件 。

定义全局常量 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//五,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' );
   }
}

以上这篇laravel 根据不同组织加载不同视图的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/zhangjun1013/article/details/78950274 。

最后此篇关于laravel 根据不同组织加载不同视图的实现的文章就讲到这里了,如果你想了解更多关于laravel 根据不同组织加载不同视图的实现的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com