laravel自学笔记
来源:互联网 发布:仿凡科建站系统源码 编辑:程序博客网 时间:2024/06/14 10:20
laravel笔记
第一节
composer安装命令:
curl -sS https://getcomposer.org/installer | php # 下载composer.pharmv composer.phar /usr/local/bin/composer # 移动composer.phar 并更名为composer,让composer可以全局使用
laravel安装器:
composer global require "laravel/installer"
vi ~/.zshrc编写环境变量做全局配置:
export PATH="$HOME/.composer/vendor/bin:$PATH"
进入www目录进行安装:
laravel new MyProject
启动环境的命令为:
php artisan serve
第二节
编辑Nginx中的默认站点目录配置成我们的项目名。
server { listen 80; server_name localhost; root /usr/local/var/www/blog; access_log /usr/local/var/log/nginx/default.access.log main; location / { index index.html index.htm index.php; autoindex on; include /usr/local/etc/nginx/php-fpm; } error_page 404 /404.html; error_page 403 /403.html;}
小记:创建控制器的php artisan命令为:
php artisan make:controller IndexController
小记:测试是否有数据库配置是否正确:在控制器中编写代码测试,在路由中配置访问路径。
$pdo = DB::connection()->getPdo();
视图模块与js、css文件引入,置于public文件夹。
导入laravel验证码类的方法:
1、通过composer安装命令
composer require mews/captcha
2、config文件夹中app.php进行配置项配置
'providers' => [ // ... Mews\Captcha\CaptchaServiceProvider::class,]......'aliases' => [ // ... 'Captcha' => Mews\Captcha\Facades\Captcha::class,]
3、在项目目录下使用命令生成chptcha:
php artisan vendor:publish
4、获得图片captcha_img()方法即可,如有疑问查询github扩展库
5、视图层,刷新验证码代码:
<img src="{{ url('/admin/code') }}" onclick="refreshVerify()" id="verify" />function refreshVerify(){ $url = "{{ url('/admin/code') }}"; $url = $url + "?" + Math.random(); document.getElementById('verify').src = $url;}
6、验证逻辑:
/*** 登陆验证操作* @param Request $request* @return true view false back()*/public function dologin(Request $request){//动态验证规则:$rules = ['code' => 'required|captcha'];$codeValidate = Validator::make($request->all(),$rules);if($codeValidate->fails()){ return back()->with('msg','验证码错误');}//获取加密与解密码的一种方式crypt中encrypt()加密,decrypt()解密// echo encrypt($request->password);$user = User::first();// dd($user);if($user->username != $request['username'] && decrypt($user->password) != $request['password']){ return back()->with('msg','用户名或者密码错误');}session(['user'=>$user]);return redirect('admin/index'); //跳转后台首页}
后台页面的子视图设置:在目录resource->layouts目录->admin.blade.php文件下面代码:
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <link rel="stylesheet" href="/admin/style/css/ch-ui.admin.css"> ..... //共有的文件夹</head><body>@yield('content') //共有部分的,要被继承重写的</body></html>
视图中应用:
@extends('layouts.admin') //注意路径@section('content')....这里写重写部分的代码即可。@endsection
中间件实现访问控制:创建中间件php artisan 命令
php artisan make:middleware AdminLogin//中间件名
AdminLogin.php中使用中间件来判断是否已经登陆:
/*** Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */public function handle($request, Closure $next){ //在这里对session进行判断,如果没有session值则让用户回到登陆页面 if(!session('user')){ return redirect('admin/login'); //跳转 } return $next($request);}
路由设置:
//使用中间件的路由设置Route::group(['middleware' => ['web','admin.login']], function () { Route::get('admin/index','Admin\IndexController@index'); Route::get('admin/info','Admin\IndexController@info');});
第三节:修改登录密码
1.我们主要对超级管理员的密码进行修改,在修改的时候我们应该要清楚,这么一个流程继你修改密码提交表单后,在控制器中应该对传过来的数据进行表单的验证,验证的方法以及修改密码的方法如下,如果想更清楚的了解验证规则可参考文档。
/** * 修改密码的操作。 * @param Request $request */public function updpass(Request $request){ $rules = ['password'=>'required|between:6,20|confirmed']; //验证规则 //自定义的验证规则提示信息 $message = [ 'required'=>'新密码不能为空!', 'between'=>'新密码在6~20位之间', 'confirmed'=>'请确认密码', ]; //动态验证数据 $validator = Validator::make($request->all(),$rules,$message); if($validator->fails()){ return redirect('admin/pass')->withErrors($validator)->withInput(); }else{ //验证要更改原密码是否正确,正确再进行修改 $user = User::first(); $_password = Crypt::decrypt($user->password); if($_password == $request->input('password_o')){ $user->password = Crypt::encrypt($request->input('password')); $user->update();// return redirect('admin/info'); $msg = ['msg'=>'密码修改成功']; return back()->withErrors($msg); }else{ $msg = ['msg'=>'原来的密码错误']; return redirect('admin/pass')->withErrors($msg)->withInput(); } }}
阅读全文
0 0
- Laravel 课程自学笔记
- laravel自学笔记
- laravel 笔记
- Laravel笔记
- laravel笔记
- laravel 笔记
- laravel 笔记
- Laravel笔记
- [Laravel学习笔记] 安装Laravel
- 自学笔记
- laravel学习笔记1
- Laravel学习笔记一
- Laravel 学习笔记
- laravel 学习笔记
- laravel validate学习笔记
- laravel实用笔记
- Laravel学习笔记目录
- Laravel学习笔记一
- 1002. 写出这个数 (20)
- dell raid 卡配置
- jsp页面增删该常见的表单校验
- 更换 CentOS 7 的下载源为阿里云
- 使用InfluxDB+cAdvisor+Grafana配置Docker监控
- laravel自学笔记
- Android studio混淆打包的时候一直失败,提示Warning:Exception while processing task java.io.FileNotFoundException: D
- 四层和七层负载均衡的区别
- Caused by: java.lang.NumberFormatException: Expected an int but was 0.15 at line 1 c
- HDOJ 3468 Treasure Hunting (BFS+DFS+匈牙利算法) 综合性好题,好题!!!
- 【超级经典】程序员装B指南(转)
- Mac 快捷键集合
- elasticsearch bool 的坑
- 汇编cmp指令