目录结构分析
(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 框架,快速网站开发必备技能》笔记,略有删改。
由于需要重新编辑格式,且将相关图片上传到线上,笔记整理相当费时费力,如果在观看时,发现相关“错误”,恳请各位看官能够评论告知,博主将在第一时间修改订正。
如果在学习时遇到相关问题,也可以在下方留言,大家一起讨论,互相学习,谢谢大家(抱拳)!
错误:包括但不限于知识点错误、概念错误、错别字、链接无法访问、文字排版、引用图片错误等。