1.检查数据库连接是否成功。
$pdo = DB::connection()->getPdo();
dd($pdo);
2.调用特定目录下的控制器
Route::get('admin/login','Admin\LoginController@login');
3.创建控制器
php artisan make:controller LoginController
4.引入css文件
4.1带域名
<link rel="stylesheet" href="{{asset('resources/views/admin/style/css/ch-ui.admin.css')}}">
4.2不带域名
<link rel="stylesheet" href="/resources/views/admin/style/css/ch-ui.admin.css">
5.常用的路由语句
5-1.路由到方法
Route::get('foo', function () {
return 'Hello World';
});
5-2.路由到控制器
Route::get('foo', 'IndexController@index');
5-3.路由到数组
Route::get('user/profile', ['as' => 'profile', function () {
//
}]);
Route::get('user/profile', [
'as' => 'profile', 'uses' => 'UserController@showProfile'
]);
6.引入扩展在实例化时应该从底层开始查找
$code = new \Code;
$code->make();
7.继承基础类,首先要使用use
use \App\Http\Controllers\Controller
8.引入扩展
require_once('resources\org\code\Code.class.php');
9.laravel默认没有开启原生的session,要使用需要在调用之前打开
session_start();
10.url方法生成一个完整的链接,asset方法用于引用资源
11.使用Input之前要先用use引用对应的class
use Illuminate\Support\Facades\Input;
12.使用web中间件,就必须在表单中插入防止csrf攻击的代码段
{{csrf_field()}}
13.点击验证码刷新
<img src="{{url('/admin/passport/makecode')}}" alt="" onclick="this.src='{{url('/admin/passport/makecode')}}?'+Math.random()">
14.返回上一个参数并带有提示信息
return back()->with('msg','验证码错误');
15.判断并获取back过来的参数
@if(session('msg'))
<p style="color:red">{{session('msg')}}</p>
@endif
16.引入Crypt
use Illuminate\Support\Facades\Crypt;
Crypt::encrypt($str);
Crypt::decrypt($pass);
17.创建模型
php artisan make:model Admin
18.把model文件拖到App\Http\Model目录后,需要修改对应的命名空间,要使用这个模型,也需要在控制器中use
namespace App\Http\Model;
use \App\Http\Model\Admin;
19.在一个模型中,需要自己指定表的名字和主键等等
protected $table = 'admin';
protected $primaryKey = 'id';
public $timestamps = false;
20.模型的返回值是一个对象,可以通过->调用对应的字段,而不是数组
$data = Admin::first();
dd($data->username);
21.使用session同样需要先引入
use Illuminate\Support\Facades\Session;
Session::put('uid',$admininfo->id);
Session::get('uid');
22.也可以直接用小写的
session(['uid'=>$admininfo->id]);
session('uid');
23.php获取操作系统的基本信息
服务器操作系统: <?PHP echo PHP_OS; ?>
运行环境: <?PHP echo $_SERVER ['SERVER_SOFTWARE']; ?>
最大上传限制: <?PHP echo get_cfg_var ("upload_max_filesize")?get_cfg_var ("upload_max_filesize"):"不允许上传附件"; ?>
最大执行时间: <?PHP echo get_cfg_var("max_execution_time")."秒 "; ?>
脚本运行占用最大内存: <?PHP echo get_cfg_var ("memory_limit")?get_cfg_var("memory_limit"):"无" ?>
PHP程式版本: <?PHP echo PHP_VERSION; ?>
ZEND版本: <?PHP echo zend_version(); ?>
MySQL支持: <?php echo function_exists (mysql_close)?"是":"否"; ?>
MySQL数据库持续连接 :<?php echo @get_cfg_var("mysql.allow_persistent")?"是 ":"否"; ?>
MySQL最大连接数:<?php echo @get_cfg_var("mysql.max_links")==-1 ? "不限" : @get_cfg_var("mysql.max_links");?>
获得服务器系统时间<?php date_default_timezone_set ('PRC'); echo date("Y-m-d G:i:s"); ?>
24.修改时区在config/app.php中修改
'timezone' => 'PRC',
25.感觉放在.env中的配置信息可以被直接访问到,非常不安全,一般把配置信息放config目录下比较好
26.子视图布局
26-1.在模版中使用关键字占位符
@yield('content')
26-2.在视图中使用关键字绑定模版与内容
@extends('layouts/admin')
@section('content')
<p>哈哈哈</p>
@endsection
27.在控制器内实现跳转
return redirect('admin/index/index');
28.在使用中间件的时候需要在kernel.php中挂载
'admin.login' => \App\Http\Middleware\AdminLogin::class,
29.创建中间件
artisan make:middleware AdminLogin
30.自定义中间件
在中间件的handle方法中写预先要执行的操作就行,相当于tp的预处理函数
31.可以在路由组中配置namespace,这样路由前缀就可以去掉啦
32.引入Validator
use Illuminate\Support\Facades\Validator;
33.Validator的使用
33-1.配置rules
$rules = ['password'=>'required'];
33-2.绑定rules和需要验证的数据,生成一个$v对象
$v = Validator::make($data,$rules);
33-3.判断是否通过验证
$v->passes();
33-4.没有通过就获取错误信息
$v->errors()->all();
34.自定义 错误提示信息
34-1.配置rules
$rules = ['password'=>'required'];
34-2.配置msg
$msgs = ['password.required'=>'原密码不能为空'];
34-3.验证
$v = Validator::make($data,$rules,$msgs);
35.常用的验证条件
35-1.验证字段不能为空,长度在指定范围,确认输入
$rules = ['password'=>'required|between:6,20|confirmed'];
35-2.确认输入的表单里面的name也使用指定的
<input type="password" name="password"> </i>新密码6-20位</span>
<input type="password" name="password_confirmation"> </i>再次输入密码</span>
36.对于验证,laravel5.2有专门处理错误信息的
36-1.在后台用类似with的方法,返回错误对象
return back()->withErrors($v);
36-2.前台用if和for循环输出
@if(count($errors)>0)
<div class="mark">
@foreach($errors->all() as $error)
<p>{{$error}}</p>
@endforeach
</div>
@endif
37.验证成功,更新数据
$admininfo->password = Crypt::encrypt($data['password']);
$admininfo->update();
38.使用资源路由
Route::resource('/admin/category','CategoryController');
39.列出所有路由条目
php artisan route:list
40.