Laravel 简单使用介绍
Laravel 目录结构介绍
app //应用目录 代码基本都在这里写
bootstrap //框架启动文件 路由缓存目录(类似于发动机)
config //框架的配置目录
database //数据库目录 数据迁移以及种子
public //框架入口文件 以及静态文件
resources //资源目录 视图文件未编译的jscss(htmlwenj)
routes //路由目录
storage //存储目录 编译模板 日志等。。
tests //测试文件
vendor //composer依赖包
.env //环境配置文件
artisan //命令行使用文件
路由
路由 route
Route::请求方式($uri,回调函数/控制器@方法)
【注】:Route-----类名,::静态调用的方式
请求方式:get post put delete patch options
$uri www.lampol.com/index/login
回调函数function(){}; 直接返回给浏览器
控制器@方法 进入控制器方法进一步处理
laravel框架默认带csrf表单验证
注意 post put delete patch 需要验证
get options 不需要验证
下面可以单独配置
app/Http/Middleware/VerifyCsrfToken.php
protected $except = [
'URl地址'
];
匹配多种请求方式
匹配多种请求方式
Route::match([‘get’,’post’],$uri,function(){
});
匹配所有请求
Route::any($uri,function(){
});
重定向路由
Route::redirect('index','login’);
视图路由
Route::view($uri,视图);
Laravel 控制器
控制器的定义 遵循规则
1 统一放在 app/Http/Controllers
2 命名空间 namespace App\Http\Controllers;
3 遵循PSR-4 类定义规范 文件名和类名一样 首字母大写
4 类名Controller.php 默认规则
5 可以继承 Controller.php 也可以不继承 推荐继承
可以 app/Http/Controllers 继续创建目录 目录名首字母大写
命名空间 namespace App\Http\Controllers\目录名
控制器的路由定义
在定义控制器路由时,我们不需要指定完整的控制器命名空间。默认的在
App\Http\Controllers
例如 App\Http\Controllers\UserController 方法名 定义访问 index 方法
Route::get(‘index’,’UserController@index’); 即可访问到 index方法
如果 下面还有目录
例如 App\Http\Controllers\User\UserController 方法名 定义访问 index 方法
Route::get(‘index’,’User\UserController@index’); 即可访问到 index方法
单行为控制器
处理单个行为的控制器,你可以在控制器中放置一个 __invoke 方法:
Route::get(‘user‘,’控制器’); 默认会进入到 __invoke
资源控制器以及资源路由
Laravel 资源路由将典型的「CRUD」(增删改查)路由分配给具有单行代码的控制器。
创建多个路由来处理资源上的各种行为。生成的控制器为每个行为保留了方法
资源路由的创建
Route::resource('/article','ArticleController');
部分资源路由
//允许访问的方法
Route::resource('/article','ArticleController',['only'=>['index','store','show']]);
//不可访问的方法
Route::resource('/article','ArticleController',['except'=>['index','store']]);