不言不语

您现在的位置是: 首页 >  PHP  >  Laravel

Laravel

Laravel 简单使用介绍

2020-06-26Laravel
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');

image.png

部分资源路由


//允许访问的方法


Route::resource('/article','ArticleController',['only'=>['index','store','show']]);


//不可访问的方法


Route::resource('/article','ArticleController',['except'=>['index','store']]);



文章评论