【PHP 随记】—— laravel 目录结构分析
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
👉总目录👈 \large\colorbox{skyblue}{👉总目录👈} 👉总目录👈
目录文件介绍
|-- app
|-- bootstrap
|-- config
|-- database
|-- public
|-- resources
|-- routes
|-- storage
|-- tests
|-- vendor
1 app 目录 \textbf{app 目录} app 目录项目的核心目录主要用于存放核心代码也包括控制器、模型、中间件。
app
|-- Console
|-- Exceptions
|-- Http // 存放控制器
|-- Controllers // 控制器目录
|-- Controller.php // 基础控制类
|-- Middleware // 中间件目录
|-- Kernel.php // 框架核心文件
|-- Models
|-- Providers
2 bootstrap 目录 \textbf{bootstrap 目录} bootstrap 目录包含启动框架的 app.php 文件。 该目录还包含了一个 cache 目录cache 目录下存放着框架生成的用来提升性能的文件比如路由和服务缓存文件。
bootstrap
|-- cache
|-- app.php
3 config 目录 \textbf{config 目录} config 目录项目的配置目录主要存放配置文件比如项目总体配置、数据库的配置等。
config
|-- app.php
|-- auth.php
|-- broadcasting.php
|-- cache.php
|-- cors.php
|-- database.php
|-- filesystems.php
|-- hashing.php
|-- logging.php
|-- mail.php
|-- queue.php
|-- sanctum.php
|-- services.php
|-- session.php
|-- view.php
- app.php全局配置文件在后期开发的时候需要频繁的使用这个配置文件
- auth.php用户登录时候需要用到的用户认证模块的配置文件
- database.php数据库的配置文件
- filesystems.php文件系统如文件存储等的配置文件
4 database 目录 \textbf{database 目录} database 目录包含数据填充和迁移文件以及模型工厂类还可以把它作为 SQLite 数据库存放目录。
database
|-- factories
|-- migrations
|-- seeders
- factories存放一些工厂模式需要用的一些文件
- migrations迁移存放的是迁移文件创建/删除/修改数据表操作的类文件
- seeds播种、种子存放的是种子填充器文件模拟向数据表中写入数据的操作类
5 public 目录 \textbf{public 目录} public 目录项目的入口文件和系统的静态资源目录cssimgjsuploads。
后期使用的外部静态文件js、css、图片等都需要放到 Public 目录。
并且后期的网站的根目录也是这个目录apache 的 documentroot 目录为该目录路径
6 resources 目录 \textbf{resources 目录} resources 目录存放视图文件还有就是语言包文件的目录。
- lang存储语言包的目录
- views视图文件存储目录
7 routes 目录 \textbf{routes 目录} routes 目录包含了应用的所有路由定义Laravel 默认包含了几个路由文件web.php、api.php、 console.php 和 channels.php。
8 storage 目录 \textbf{storage 目录} storage 目录主要是存放缓存文件和日志文件注意如果在 linux 环境下该目录需要有可写权限。后期用户上传文件如果存在本地则也在 storage 下。
storage
|-- app
|-- framework
|-- logs
- app保存用户上传文件的路径
- framework框架自带的文件存储目录
- logs框架的日志文件存储位置
9
tests
目录
\textbf{tests 目录}
tests 目录包含自动化测试文件其中默认已经提供了一个开箱即用的 PHPUnit 示例每一个测试类都要以 Test 开头可以通过 phpunit
或 php vendor/bin/phpunit
命令来运行测试。
10 vendor 目录 \textbf{vendor 目录} vendor 目录主要是存放第三方的类库文件laravel 思想主要是共同的开发不要重复的造轮子例如里面可能存在验证码类上传类邮件类该目录还存放 laravel 框架的源码。注意如果要使用 composer 软件管理的composer 下载的类库都是存放在该目录下面的。
其他常用文件介绍
11 .env 文件 \textbf{.env 文件} .env 文件主要是设置一些系统相关的环境配置文件信息。config 目录里面的文件配置内容一般都是读取该文件里面的配置信息config 里面的配置项的值基本都是来自.env 文件。
12 artisan 脚手架文件 \textbf{artisan 脚手架文件} artisan 脚手架文件主要用于生成的代码的自动生成比如生成控制器模型文件等。
13 composer.json 依赖包配置文件 \textbf{composer.json 依赖包配置文件} composer.json 依赖包配置文件composer 需要使用声明当前需要的软件依赖不能删除。