zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Laravel 基础知识

基础知识 laravel
2023-09-11 14:22:41 时间

使用版本Laravel5.1。
======================================================
目录简单介绍:
app目录,核心目录,应用目录。
bootstrap目录,启动和自动加载目录。
config目录,各种配置文件。
database目录,数据库迁移文件。
resource目录,mvc中的视图文件。
========================================================
控制器目录:
\app\Http\Controllers\。

//控制器基类是:
\app\Http\Controllers\Controller.php。

//控制器的命名空间:
namespace App\Http\Controllers\模块名;
(注意项目的目录app首字母是小写,命名空间是大写)
=======================================================
Laravel框架中的route路由:

//直接输出字符串
Route::get('info',function(){
return 'info';
});

//输出视图(\Resource\views\info.blade.php)
Route::get('info',function(){
return view('info');
});

//请求方式
Route::get('info',function(){});
Route::post('info',function(){});
Route::match(['get','post'],'info',function(){});
Route::any('info',function(){});

//访问控制器
方式一(参数为字符串):
Route::get('member/info','MemberController@info');
方式二(参数为数组):
Route::get('member/info',['uses'=>'MemberController@info']);

//路由参数
Route::get('info/{id}',function($id){});//必传
Route::get('info/{id?}',function($id=null){});//非必传
Route::get('info/{id?}',function($id=null){})->where('name','[A-Za-z]+');//正则验证
//多个验证,使用数组
Route::get('info/name/{id?}',function($name='',$id=null){})
->where(['name'=>'[A-Za-z]+','id'=>'[0-9+]']);//正则验证

//路由别名
Route::get('user/member',['as'=>'member',function(){});

//路由群组
Route::group(['prefix'=>'member'],function(){
Route::get('info',function(){});//访问地址是member/info
Route::post('user',function(){});//访问地址是member/user
});

===========================================================
Laravel框架的视图命名:
名字.blade.php
(注意后缀)
=========================================================
Laravel框架的模型:
默认目录就是\app\下;

基类模型是:
use Illuminate\Database\Eloquent\Model;
=========================================================
Laravel的数据库配置:
基础的配置文件是根目录下的.env文件,
配置数据库的主机名、数据库名、用户名、密码。
在根目录下的config目录下的database.php文件中,配置数据库前缀和字符集等。
=====================================================================
可以使用dd()方法输出数据。
======================================================================
数据库原生语句的执行:
DB::select(sql语句);
DB::insert('insert into user(name,age) values (?,?)',['zhang san',18]);
DB::update('update user set age=? where name=?',[20,'zhang san']);
DB::delete(sql语句);
DB类是:
use Illuminate\Support\Facades\DB;
=====================================================================
Laravel中的查询构造器:
DB::table('user')->insert(['name'=>'haha','age'=>12]);
DB::table('user')->insertGetId(['name'=>'haha','age'=>12]);
DB::table('user')->where('id',1)->update(['name'=>'haha','age'=>12]);
使用get()获取所有数据;
使用first()获取一行数据;
使用lists()获取列数据;
使用select()获取指定的一些字段(注意每个字段都是单独的字符串);
示例:
DB::table('user')->where('id',1)->select('id','name','age')->get();

=====================================================================
同一个命名空间下的控制器,可以直接继承,不需要使用use引进来。
=====================================================================
使用config()函数获取配置:
config('文件名.参数');
=====================================================================
引入公共函数
在index.php中:
require __DIR__.'/../app/Common/functions.php';
=========================================================================