=>
一般用于数组的 键=>值
->
一般用于对象的 对象->对象属性 和 对象->对象方法
===是包括变量值与类型完全相等,而==只是比较两个数的值是否相等。
第一次见到这种表现方式,请问是双冒号什么意思
lazycms::$sysname
直接属类的方法或属性。
也就是static 静态方法或属性的使用。
域运算符,一般用于在B类对象中使用A类对象的属性/方法!
命名控制器路由
Route::get(‘foo’,[‘uses’=>’FooController@method’,’as’=>’name’]);
构造器注入
Laravel使用服务容器来解析控制器的依赖注入。以来会自动被解析并注入控制器实例中
Class UserController extends Controller{
Protected $users
Public function __construct(UserRepository $users)
{
$this->user=$users;
}
}
方法注入:
除了构造器注入外,也可以对控制器行为方法的依赖使用类型提示。
Calss UserController extends Controller
{
Public function store(Request $request)
{
$name=$request->input(‘name’);
}
}
添加session信息:
session([‘user’=>$user]);
判断session是否存在:
session('user');
清空session
session('user'=>null);
页面链接
{{url('admin/login')}}
页面跳转:
return redirect('admin/login');
返回上一页面并传参:
return back()->with('msg','用户名或密码错误');
页面显示传来的参数:
@if(session('msg'))
<p>session('msg')</p>
中间件(登陆验证)
配置路由
Route::group(['middleware'=>['web','admin.login']],function(){
Route::get('admin/index','Admin\IndexController@index';)
})
配置Kernel.php
protected $routeMiddleware=[
'admin.login'=>\App\Http\MIddleware\AdminLogin::class,
];
编写控制器
public function login(){
if($input = Input::all()){
$code = new \Code;
$_code = $code->get();
if(strtoupper9$input['code'])!=$_code){
return back()->with('msg','验证码错误!');
}
$user=User::first();
if($user->user_name!=$input['user_name']||Crypt::decrypt($user->user_pass)!=input['user_pass']){
return back()->with('msg','用户名或密码错误');
}
session(['user'=>$user]);
return redirect('admin/index');
}
}
实现修改密码:
配置路由Route::any('admin/pass','Admin/IndexController@pass');
编辑控制方法:
public function pass(){
if($input=Input::all()){
$validator = Validator::make($input,$rules,$message);
$rules=['password'=>'required|between:6,20|confired',];
$message=[
'password.required'=>'新密码不能为空',
'password.between'=>'新密码必须在6-20位之间',
'password.confirmed'=>'新密码和确认密码不一致'‘
];
if($vaildator->passes()){
$user = User::first();
$_password=Crypt::decrypt($user->user_pass);
if($input['password_o']==$_password){
$user->user_pass=Crypt::encrypt($input['password']);
$user->update();
return back()->with('errors','密码修改成功');
}else{
return back()->with('errors',’密码修改成功‘);
}else{
return back()->with('errors',’原密码错误‘);
}else{
return back()->withErrors($vaildator);
}
}
else{
return view('admin.pass');
}
}
密码修改页所需修改的代码片段
@if(count($errors)>0)
@if(is_object($errors))
@foreach($errors->all() as $error)
<p>{{$error}}</p>
@endforeach
@else
<p>{{$errors}}</p>
@endif
@endif
查看路由列表命令
php artisan route: list
新建控制器命令
php artisan make:controller AdminCOntroller
树形结构:
public function getTree($data){
$arr =array();
foreach($data as $k=>$v){
if($v->cate_pid==0){
$data[$k]["_cate_name"]=$data[$k]["cate_name"];
$arr[]=$data[$k];
foreach($data as $m=>$n){
if($n->cate_pid==$v->cate_id)
$data[$m]["_cate_name"]=$data[$m]["__cate_name"];
$arr[]=$data[$m];
}
}
}
}