【PHP 随记】—— laravel 目录结构分析-繁依Fanyi

👉总目录👈

largecolorbox{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 目录:项目的入口文件和系统的静态资源目录(css,img,js,uploads)。

后期使用的外部静态文件(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 开头,可以通过 phpunitphp 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 需要使用,声明当前需要的软件依赖,不能删除。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容