(1)app目录:项目的核心目录,主要用于存放核心代码,也包括控制器、模型。
![50ebd22de757f059889788b29901b8e5.png](https://i-blog.csdnimg.cn/blog_migrate/59f2491511ef03f376f9f99f9bb95ffa.png)
其中models文件夹里面的user.php是模型文件。
![d527d30e2fad1c97b3ad274f5bf0956e.png](https://i-blog.csdnimg.cn/blog_migrate/eda7c7c236cea443a3f0f947bfaa192c.png)
模型文件存放位置,模型文件直接写在app目录即可,但是也可以再该目录下建立其他目录用于专门存放模型文件,例如建立Admin目录专门存放后台需要的模型文件,建立Home目录存放前台模型文件目录。
(2)bootstrap目录:
![86f9cc2d102fed4fd3226120fca1a562.png](https://i-blog.csdnimg.cn/blog_migrate/d5d0c555eb52bcbf045a770665ed0277.png)
放置框架启动时需要的文件。
(3)config目录:项目的配置目录,主要存放配置文件,比如数据库的配置。
![6bd3ccb2144f2919b771313e7a787cad.png](https://i-blog.csdnimg.cn/blog_migrate/d198af5c5a01633aa73aa9e455996cb0.jpeg)
app.php:项目主要配置文件;
auth.php:用于定义用户认证(登陆)的配置文件;
database.php:针对数据库的配置;
filesystems.php:上传文件、文件存储需要使用到的配置文件;
(4)database目录,数据迁移目录。
![f330f3348ad01233766f679aa7efaa26.png](https://i-blog.csdnimg.cn/blog_migrate/4e282b6ac3ce44f03301029a3ab8722f.png)
存储跟数据表相关的操作类文件(迁移文件【创建数据表的类文件】、种子文件【存放一些数据表的数据填充文件】)。
(5)public目录,项目的入口文件和系统的静态资源目录(css,img,js,uploads),后期使用的外部静态文件(js、css、图片等)都需要放到public目录下。
![361f685993a76c2d9b14014fa032329b.png](https://i-blog.csdnimg.cn/blog_migrate/6d16f33f86610b0bccfa7946293fc3c5.jpeg)
项目的单一入口文件也在这个目录下,因此后续配置虚拟主机的时候需要将站点位置指定到public下。
(6)resources目录,存放视图文件,语言包文件的目录。
![b7603e93d9f20b3742e11728f4e8ed32.png](https://i-blog.csdnimg.cn/blog_migrate/56f27e3da6ce3b1a3958fa22242d3899.png)
lang目录,语言包目录(如果项目需要本地化则需要配置语言包)
views目录,视图文件存储目录(视图文件也可以分目录管理)
routes目录,是定义路由的目录,web.php是定义路由的文件
![bd182ee4a354b61ffb0a90bbeabdb1ff.png](https://i-blog.csdnimg.cn/blog_migrate/7e8607d1beb660e243c4359275b26d6a.png)
(7)storage目录,主要存储缓存文件和日志文件,注意,如果在Linux环境下,该目录需要有可写权限。(后期用户上传文件如果存在本地则也在storage下)
![41590a1a4f0af701fd59652ffa2ae141.png](https://i-blog.csdnimg.cn/blog_migrate/e43835b26b17a4f5c332e8e498f854b3.png)
app:存放用户上传的文件
framework:框架运行时的缓存文件
logs:日志目录
(8)vendor目录,主要用于存放第三方的类库文件,laravel思想主要是共同的开发,不要重复的造轮子(例如,里面可能存在验证码类,上传类,邮件类),该目录还存放laravel框架的源码,注意如果要使用composer软件管理的,composer下载的类库都是存放在该目录的。
![480da5a00b05c3018b31256d11c822c8.png](https://i-blog.csdnimg.cn/blog_migrate/e78b5e90fcb456228d230def66bf8e98.jpeg)
(9).env文件,主要是设置一些系统相关的环境配置文件信息。config目录里面的文件配置内容一般都是读取该文件里面的配置信息(config里面的配置项的值基本都是来自此文件)
(10)artisan脚手架文件,主要用于生成代码(自动生成),比如生成控制器,模型文件等。
执行命令:#php artisan需要执行的指令
要求1:php必须添加环境变量,并且保证版本;
要求2:artisan必须存在命令行当前的工作路径下;
composer依赖包配置文件
声明当前需要的软件依赖,但是不能删除,composer需要使用。