Warning: Undefined array key "zibbs_visit" in /www/wwwroot/www.qwesky.club/application/controllers/IndexController.php on line 100
三、控制器使用 — php — 我的学习笔记

三、控制器使用


1、控制器的位置:app/Http/Controller

#php artisan make::controller TestController


//控制器路由
Route::get('/home/test/test1','App\Http\Controllers\TestController@test1');


//前台控制器路由
Route::get('/home/index','App\Http\Controllers\Home\IndexController@index');
//后台控制器路由
Route::get('/admin/index','App\Http\Controllers\Admin\IndexController@index');



test2026-03-25 21:39


2、接收用户输入(Laravel 5.3 及之前版本)

接收用户输入的类:IlluminateSupportFacadesInput

Facades:门面的思想。门面是介于一个类的实例化与么有实例化中间的一个状态,其实是类的一个

接口实现,在这个状态下可以不实例化类但是可以调用类中的方法。说白了就是静态方法

Input::get('参数名字','如果参数没有被传递使用该默认值');

Input::all();获取所有的用户输入

Input::get();获取单个的用户输入

Input::only([]);获取指定几个用户输入

Input::except([]);获取指定几个用户的输入以外的所有的参数

Input::has('name');判断某个输入的参数是否存在

上述方法即可以获取在get中的信息,也可以获取post中的信息

在Laravel中如果需要使用facades的话,但是又不想写那么长的引入操作:

Use IIIuminateSupportFacadesInput

则可以在config/app.php中定义长串的别名:

'Input'=>IlluminateSupportFacadesInput:class

Laravel 5.4 及更高版本

$input = request('key');
或者,如果你需要访问完整的 IlluminateHttpRequest 实例:
$request = request();
$input = $request->get('key');

使用依赖注入获取请求实例

在控制器中,你也可以通过类型提示直接注入 IlluminateHttpRequest 实例:

use IlluminateHttpRequest;

public function store(Request $request)
{
    $input = $request->get('key');
}


在Laravel中友好输出函数:dd();

作用:dump+die,后续代码不会执行。

test2026-03-26 19:31


四、DB类操作数据库

按照MVC的架构,对数据库操作应该放在Model中完成,单如果不使用Model,

我们也可以用Laravel框架提供的DB类操作数据库。而且对某些及其复杂的sql,

用Model已经很难完成,需要开发者自己手写sql语句,使用DB类去执行原生sql,


Laravel中DB类的基本语法DB::table['tableName']获取操作tableName表的实例。

创建数据库

设置路由


insert(数组)可以同时添加一条或多条,返回值是布尔类型

insertGetId(一维数组),只能添加一条数据,返回自增ID。

在控制器中引入DB

use DB;


3、修改数据(update)

数据修改可以使用update(),inrement和decrement函数来实现

increment和decrement表示数字自动的值递增或递减,用户用户登录次数。

Where语法:->where(字段,运算符,值);

test2026-03-26 20:55





test2026-03-26 20:59