Laravel目录结构和路由

307 阅读2分钟

Laravel目录结构

app目录

项目核心目录,主要存放控制器、模型

模型目录

clip_image002.jpg

clip_image004.jpg

控制器

Auth控制器分目录管理

Controller.PHP 基类控制器,后面自己写的控制器都需要继承它

image-20210312200705854.png

用户认证模块(例子)

Bootstrap

clip_image012.jpg

image-20210312200911757.png

config

配置文件

App.php:项目主要配置文件

Auth.php:用于定义用户认证(登录)的配置文件

Database.php:针对数据库的配置

Fliesystems.php:上传文件,文件存储需要使用到的配置文件

clip_image024.jpg

database

数据迁移目录

migrations存储跟数据表相关的操作文件(创建数据表类文件)

Seeds种子文件

clip_image026.jpg

public

单一路口 index.php

Routes

定义路由的目录,web.php是定义路由的文件

clip_image028.jpg

storage文件

App:存放用户上传的文件

Frameword:框架运行时的缓存文件

Logs:日志目录

.env

系统相关的环境配置文件信息,config目录里面的文件配置内容一般都是读取该文件里面的配置信息(config里面的配置项的值基本都是来自.env文件)

artisan

框架的脚手架文件,主要用于自动生成代码,如控制器、模型文件等

执行命令:#php artisan 需要执行的指令

composer.json

依赖包配置文件

clip_image030.jpg

框架的启动方式:

 #php artisan serve

路由

路由:将用户的请求按照事先规划的方案交给指定的控制器或者功能函数来进行处理,

【路由就是访问地址形式】

1、路由配置文件

routes/web.php

2、路由定义格式

Route::请求方式(‘请求的URL’,匿名函数或控制器的响应方法)

自定义路由方式

clip_image032.jpg

clip_image034.jpg

Post和get 方式都需要时

clip_image036.jpg

clip_image038.jpg

3、路由参数

路由传递参数

参数分为可选参数和必选参数

路由参数的传递通过路由地址中的 {参数名} 的形式进行传递,该形式是必选参数的形式,可选参数则是使用” {参数名?} ”

必选参数

clip_image040.jpg

clip_image042.jpg

clip_image046.jpg

可选参数

clip_image048.jpg

clip_image050.jpg

clip_image052.jpg

通过?方式传递参数

clip_image054.jpg

4、路由别名

相当于在定义路由时为路由起一个别名,在以后程序中可以通过这个别名来获取路由的信息

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

return view('welcome');

}) -> (‘名字’) ;

调用该路由时可以写成:route(‘名字’);

5、数组群组

clip_image056.jpg