Laravel框架

Laravel框架具有目前大部分框架都具有的共同特点:

单入口。为了让框架统一管理所有的请求,整个项目对外只提供一个入口
MVC开发模式。利用MVC可以更好地协同开发,为后期的维护提供方便
ORM(对象关系映射)方式操作数据库,支持AR(活动记录)模式

路由

需要在routes/web.php文件中配置,定义方式:

Route::get('/hello',function)(){

  return 'hello';

});//返回页面用view

//同时匹配get和post请求方式

Route::match(['get','post'],'test',function(){

  return '通过match()匹配';

});//matchh后是数组(【get,post】)之后是参数

//匹配任意请求方式

Route::any('test2',function(){

  return '通过any()匹配'

});

//传递动态参数

Route::get('find/{id}',function($id){

  return 'id为',$id;

)};

//传递可选动态参数

Route::get('find/{id?}',function($id=0){

  return 'id为',$id;

)};

//路由分组

Route::group(['prefix=>'admin''],'function(){

 

Route::get('login',function)(){

  return '这里是/admin/login';

});

Route::get('logout',function)(){

  return '这里是/admin/logout';

});

Route::get('use/add',function)(){

  return '这里是/admin/use/add';

});

});

如果使用路由群组,可以通过在路由群组的属性数组中指定as关键字来为群组设置一个公用的路由名前缀:

Route::group(['as'=>'admin;;''],'function(){

 

Route::get('login',['as'=>'login' ] function(){

  return '这里是/admin::login';

});

});

控制器:

cmd进入Laravel根目录:

php artisan make:controller 控制器名字//artisan能在文件找到相当于一个方法

新建控制文件:TestController

lass TestController extends Controller
{
    public function index()
    {
        echo "<h1>Hello world</h1>";
    }
}
web文件:
Route::get('test','TestController@index');
2、接受用户输入
a、给input()定义路由
Route::get('test/input','TestController@input');
c、
 public function input(Request $request)
    {
        //调用input()方法获取数据
        $name=$request->input('name');
        return 'name的值'.$name;
    }
使用Request实例接受路由参数:
a、修改路由定义方式,在路由中匹配name参数
Route::get('test/input/{name}','TestController@input');
b、修改input()方法
 public function input(Request $request)
    {
        //调用input()方法获取数据
        $name=$request->name;
        return 'name的值'.$name;
    }
接受用户输入:
Input::get(‘参数的名字','如果没传递采用该默认值)
Input;;all();//获取所有用户输入
Input::get(‘’)//获取单个用户输入
Input::only([]);//获取指定用户输入
Input::except([]);//获取几个用户输入之外的参数
Input::has('name');//判断某个用户输入的是否存在
如果需要facedes的话可以:在app.config
‘Input’=>ILLuminate\Support\Facades\Input::class,
数据库操作:
例member表:
在config\database.php中获取环境变量
在.env文件中配置数据库参数
1、添加数据
insert()返回true或false
在colltroller中
public function() adddata()
{
$data=[
'name'=>'tom',
'age'=>22,
'email'=>'tom@Laravel.test'
];
dump(\DB::table('member')->insert($data));
//dump(\DB::table('member')->insertGetId($data));//可以返回插入的id值
}
在web中
Route::get('adddata','TestController@adddata');
修改:
public function() updatedata()
{
$data=['name'=>'tom'];//会把所有的那么换掉
dump(\DB::table('member')->update($data));
}
Route::get('update','TestController@update');
递增:increment()
dump(\DB::table('member')->increment(‘age’));//age+1
dump(\DB::table('member')->increment(‘age’,5))//member得值加上5
递减:decrement()
dump(\DB::table('member')->decrement(‘age’));//age-1
dump(\DB::table('member')->decrement(‘age’,5))//member得值-5
使用where“
dump(\DB::table('member'))->where('id','=','1')->update($data);
dump(\DB::table('member'))->where('id','1')->update($data);
dump(\DB::table('member'))->where(['id'=>1])->update($data);//支持And
dump(\DB::table('member'))->where(['id'=>1])->where(['name'=>'tom'])->update($data);
dump(\DB::table('member'))->where(['id'=>1])->orwhere(['name'=>'tom'])->update($data);
查询:
查询多行:
$data=DB::table('member')->get();
foreach($data as $v)
{
echo $v->id.'-'.$v->name.'<br>';
}
查询指定字段:
$data=DB::table('member')->get(['name','email']);//多行数据
$data=DB::table('member')->first(['name','email']);//当行数据
查询某个字段的值:
//查询id为1,返回name的值
$name=DB::table('member')->where('id','1')->value('name');
排序:
$data=DB::table('member')->where('id','1')->orderBy('age','desc ')->get();
分页:
$data=DB::table('member')->limit(3)->offset(2 )->get();
删除:
1、delete()
$res=DB::table('member')->where('id','<','3')->delete();
2、truncate
DB::table("member")->truncate();
复杂sql语句:

 

 视图:

视图文件保存在resource\view中

文件名称.blade.php或.php结尾如果以blade结尾用了blade模板引擎

建立视图show.blade.php

在web中

 

Route::get('/show', function () {
    return view('show');
});
或者在控制层添加
public function adddata(){
return view('show')
}

 

 向视图传递数据

 

 循环操作

 

 

 

 模板继承

 

 模型:

创建:php artisan make;model 模型名

使用模型:

 

 

 使用模型添加数据:

 

 

 

 

 

  

 

 

 

 

 

 

posted @ 2025-04-24 20:55  Rainierzz  阅读(9)  评论(0)    收藏  举报