【Laravel笔记 2】Laravel的目录结构分析和启动方式

发布于 22 天前  39 次阅读


目录结构分析

(1)app目录:项目的核心目录,主要用于存放核心代码,也包括控制器、模型

比如控制器存放如下位置:app/Http/Controllers

模型文件存放位置,模型文件直接写在app目录下即可,但是也可以在该目录下建立其他目录用于专门存放模型文件,例如建立Admin目录专门存放后台需要的模型文件,建立Home目录存放前台模型文件目录:

(2)bootstrap目录,laravel启动目录

autoload.php文件用于自动载入需要的类文件。

(3)config目录,项目的配置目录,主要存放配置文件,比如数据库的配置

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

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

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

Filesystems.php:上传文件、文件存储需要使用到的配置文件;

(4)database目录,数据迁移目录

存储跟数据表相关的操作类文件(迁移文件【创建数据表的类文件】、种子文件【存放一些数据表的数据填充文件】)。

(5)public目录,项目的入口文件和系统的静态资源目录(css,img,js,uploads)

后期使用的外部静态文件(js、css、图片等)都需要放到Public目录下

当然重点的是项目单一入口文件也在这个目录下。因此后续配置虚拟主机的时候需要将站点位置指定到public下。

(6)resources目录,存放视图文件,还有就是语言包文件的目录

Lang目录:语言包目录(如果项目需要本地化则需要配置语言包)

Views目录:视图文件存储目录(视图文件也可以分目录管理)

(7)routes目录,是定义路由的目录,web.php是定义路由的文件

(8)storage目录,主要是存放缓存文件和日志文件,注意,如果在linux环境下,该目录需要有可写权限。(后期用户上传文件如果存在本地则也在storage

App:存放的用户上传的文件

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

Logs:日志目录

(9)vendor目录,主要是存放第三方的类库文件,laravel思想主要是共同的开发,不要重复的造轮子(例如,里面可能存在验证码类,上传类,邮件类),该目录还存放laravel框架的源码。注意如果要使用composer软件管理的,composer下载的类库都是存放在该目录下面的。

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

(11)artisan脚手架文件,主要用于生成的代码的(自动生成),比如生成控制器,模型文件等。

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

要求1:php必须添加环境变量,并且保证版本;

要求2:artisan必须存在命令行当前的工作路径下;

(12)composer.json依赖包配置文件

声明当前需要的软件依赖,但是不能删除,composer需要使用。

需要重点掌握的目录(频繁使用)

目录 作用
app 保存模型文件(默认)
app/Http/Controllers 保存控制器文件
resources/views 保存视图文件
config 配置文件目录
routes 存放路由文件
database/migrations 存放数据库迁移文件(操作数据表结构)
database/seeds 存放数据库种子文件(模拟测试数据)

启动方式

方式一:Laravel框架提供了更简单的方式启动项目(相比配置apche

执行命令:#php artisan serve

此时得到结果:http://127.0.0.1:8000

说明laravel已经启动了,访问端口是8000。该种启动方式跟apache没有关系的。

需要注意:一旦使用该方式则小黑窗(cmd)不能关闭的,一旦关闭则服务也跟随关闭,网站也就访问不了。

个人不推荐使用:

①能够跑php代码,但是不启动数据库。

②该方式启动后,如果修改了项目的配置.env的话,则需要重新启动才会生效。

方式二:使用 wamp或lamp环境

虚拟主机配置:(虚拟主机 ≠ 虚拟机)

修改apcahe的虚拟主机vhost的配置文件:

修改hosts文件(线上叫DNS域名解析):

重启apache。

访问效果:

备注

以上笔记来自黑马程序员公开视频《PHP web开发教程4天全面深入浅出Laravel 框架,快速网站开发必备技能》笔记,略有删改。

由于需要重新编辑格式,且将相关图片上传到线上,笔记整理相当费时费力,如果在观看时,发现相关“错误”,恳请各位看官能够评论告知,博主将在第一时间修改订正。

如果在学习时遇到相关问题,也可以在下方留言,大家一起讨论,互相学习,谢谢大家(抱拳)!

错误:包括但不限于知识点错误、概念错误、错别字、链接无法访问、文字排版、引用图片错误等。


这短短的一生,我们最终都会失去。