Laravel

Laravel 框架的基本使用功能

2018-09-25  本文已影响36人  晨曦入诗

一, Laravel 中的路由、控制器、视图简单使用

  1. 路由简介:简单点说就是将用户的请求转发给程序进行处理作用,就是建立 url 和程序之间的映射;
  2. 基本路由:
    Route::get('first', function(){ return 'first'});
    Route::post('user', function(){ return 'user'});
  3. 多请求路由:
    Route::match([ 'get', 'post' ], 'multy', function () { return 'multy' });
  4. 响应所有请求的路由:
    Route::all('multy1', function () { return 'multy1' });
  5. 路由参数:
    Route::get('user/{id}', function ( $id ) { return $id; })(必传参数);
    Route::get('user/{name?}, function ($name = null) { return $name; })(可选参数);
  6. 扩展:把 name 的形式使用正则匹配
    Route::get('user/{name?}, function ($name = null) { return $name; })->where('name','[A-Za-z]+');
  7. 路由别名:
    Route::get(user/center', ['as' => 'center',function() { return route('center') }]);
  8. 路由返回视图:
    Route::get('shitu', function() { return view( 'shitu' ); });
  9. 控制器和路由的结合使用:
    Route::get('member/info', 'MemberController@info');
    Route::get('member/info', ['uses' => 'MemberController@info']);
    Route::any('member/info', ['uses' => 'MemberController@info']);
  10. 输出试图:
    return view( 'member-info' )(原生视图);
    return view( 'info' )(默认视图);
    return view( 'member.info' , ['name' => 'Bob', 'age' => 18])(模板可以带变量);

二,模型的创建和使用

  1. 创建模型文件:User.php ;
  2. 模型的使用:User::getMember();

三, 使用 DB_facade 对数据库进行增删改查

  1. 首先判断数据库是否连接成功:$student = DB::select('select * from student');
  2. 新增数据:$bool = DB::insert('insert into student (name, age) value (?, ?)', ['bool','20']);
  3. 更新数据:$num = DB::update('update student set age=? where name=? ', ['16', 'bool']);
  4. 进行有条件的查询:$student = DB::select('select * from student where id > ?' , ['2']);
  5. 删除数据:$num = DB::delete('delete * from student where id = ?', ['2']);

四,查询构造器简介以及新增数据

查询构造器简介:
  1. Laravel 查询构造器提供了方便流畅的接口,用来建立以及执行数据库查找的语法;
  2. 使用 PDO 参数绑定,以保护应用程序免 sql 注入;因此传入参数不需要额外的特殊字符;
  3. 基本上满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行。
  1. 使用查询构造器新增数据:
    $bool = DB::table('student')-> insert (['name' => 'alice', 'age' => 20]);
  2. 获取插入数据自增id:
    $id = DB::table('student') -> insertGetId(['name' => 'Alice1', 'age' => 26]);
  3. 想要插入多条数据:
    DB::table('student') -> insert([ ['name' => 'Alice2', 'age' => 22], ['name' => 'Alice3', 'age' => 23] ]);
  4. 更新数据:
    $num = DB::table('student')-> where('id', 2)->update('age' => 30);
  5. 自增和自减:
    $num = DB::table('student')->increment('age', 2);
    $num = DB::table('student')->decrement('age', 3);
  6. 自增和自减带条件的:
    $num = DB::table('student')->where('id', 5)->increment('age', 4);
    $num = DB::table('student')-> where('id', 6)-> decrement('age',5);
  7. 自增和自减的时候其他条件发生了变化:
    $num = DB::table('student')->where('id',3)->decrement('age', 4, ['name' => 'B']);
  8. 删除数据:
    $num = DB::table('student')->where('id', 3)->delete()(单条);
    $num = DB::table('student')->where('id', '>=', 5)->delete()(删除多条数据);
  9. 整表删除,谨慎使用:
    DB::table('student')->truncate();
  10. 查询数据:
    获取表中所有数据:$student = DB::table('student') -> get();
    获取表中第一条数据:$student = DB::table('student)->first();
    有条件的查询:$student = DB::table('student') -> where('id', '>=', 5) -> get();
    给where()加多个条件:
    $student = DB::table('student')->whereRaw('id >= ? and age >= ?',[ 5, 27]);
    返回结果集中指定的字段:$name = DB::table('student')->pluck('name');
    返回结果集中的字段:$name = DB::table('student')->lists('name');
    设置指定的键作为下标:$name = DB::table('student')->lists('name','id');
    可以查询字段select():$student = DB::table('student')->select('name','age')->get();
    分段式的查询: DB::table('student')->chunk(2,function( $student){ return false;});

五、Eloquent ORM 简介

Laravel 所自带的 Eloquent ORM 是一个非常优美简洁的 ActiveRecord 实现,用来实现数据库操作,他的每个数据的表都有对应的模型(Model)用于数据表的交互。
  1. Eloquent ORM 查询:
    Student:: all();
    Student::find(5);
  2. 查询构造器在 ORM 中的使用,查询构造器中的所有函数都是可以在这里使用的:
    $student = Student::get();
    Student::chunk(2, function($student){ return false});
  3. Eloquent ORM 新增数据:
    通过模型新增数据:
    $user = new User();
    $user->name = 'Jely';
    $user->age = 3;
    $user -> save();
    使用模型的 create()方法新增数据,:
    $user = User::create(['name' => 'Dave', 'age' => 3]);
    注意不允许批量赋值,需添加:protected $fillable = ('name', 'age' );
  4. 通过模型修改数据:
    $student = Student::find(7);
    $student -> name = 'Hello';
    $student->save();
    结合查询语句进行批量的更新数据:Student::where('id', '>=', 5) -> update(['age' =>20 ]);
  5. ORM 删除数据:
    通过模型删除:$student = Student::find(10); $student->delete();
    通过主键删除:$num = Student::destroy(9,8);
    删除指定条件的数据:Student::where('id', '>', 6)->delete();
  6. 生成 Url:
    (1) 使用 Url :通过路由中的名称生成的Url;{{ url('urlTest') }}
    (2)使用 action(): 通过指定的控制器方法名生成的 Url;
    {{ action('StudentController@urlTest')}}
    (3) 使用 route(): 通过路由的别名生成的 Url;{{ route('url') }}

六、Blade 模板简介

  1. Blade 模板是 Laravel 提供的一个既简单又强大的模板引擎;
  2. 和其他流行的 PHP 模板引擎不一样,Blade 并不限制你在视图中使用原生 php 代码;
  3. 模板的继承:

section():视图片段,@show 是把视图片段展示出来;
yield():给定片段的一个内容,相当于是一个占位符,没有实际意义;
extends():继承父类的一个 blade 模板;
parent();

  1. 基础语法以及 include 的使用:

(1) 模板中输出变量:{{ $name }}
(2) 模板中调用 php 代码:{{ time() }}{{ date( 'Y-m-d', time()) }};
(3) 原样输出:@{{ $name }};
(4) 模板中的注释:<--!模板中的注释-->
(5) include 的使用:@include('student', ['me' => '子视图中变量的使用'])

上一篇下一篇

猜你喜欢

热点阅读