一般框架特点
- 单入口, 所有的请求必须从单入口开始,主要是便于管理(统一的参数过滤)
- MVC思想(分层思想,主要是为了协调开发,实现后期的维护方便)
- ORM操作数据库(ORM:对象关系映射,或者对象关系模型)
注意:
laravel框架有一个特点,所有的url访问都必须事先定义好路由规则,学好laravel,必须学好路由
;
Composer管理依赖
laravel安装
- 直接composer安装
composer create-project --prefer-dist laravel/laravel laravel_item
最后一个laravel_item是安装后项目文件名
laravel框架目录解析
app目录, 项目的核心目录,主要用于存放核心代码,包括控制器,模型;
- 比如控制器存放的位置:app/Http/Controllers
- 模型文件存放位置,模型文件直接写在app目录下就可以,但是也可以在该目录下创建其他目录用于专门存放模型文件,例如建立Admin目录专门存放后台需要的模型文件,建立Home目录存放前台模型文件
- app/User.php是初始化框架生成的模型文件
- app/Http/Controllers 控制器目录
- app/Http/Controllers/Controller.php 基类控制器
- app/manage 管理后台模型文件夹,模型文件目录可以在app下创建
bootstrap目录,不是前端框架那个bootstrap,不要乱理解
- bootstrap目录包含引导框架的app.php文件,该目录还包含了cache目录,cache目录下存放着框架生成的用来提升性能的文件,比如路由和服务缓存文件
config目录 配置文件
- config目录,包含应用程序所有的配置文件
- App.php: 项目的主要配置文件
- Auth.php: 用于定义用户认证(登录)的配置文件
- database.php: 针对数据库的配置文件
- filesystems.php: 上传文件,文件存储需要使用的配置文件
database目录 数据库迁移目录
- 存储跟数据表相关的操作类文件(迁移文件:创建数据表的类文件,种子文件:存放一些数据表的数据的数据填充文件)
public目录
- public目录包含了入口文件index.php, 它是进入应用程序的所有请求的入口点; 此目录还包含了一些您的资源文件(如图片,javascript和css);
- 重点是项目的单一入口也在这个目录下,因此后续在配置虚拟主机的时候,需要将站点位置指定到public下;
Resources目录
- resources目录包含了视图和未编译的资源文件(如LESS,SASS或JavaScript); 此目录还包含你所有的语言文件;
- Lang目录:语言包目录(如果项目需要本地化则需要配置语言包)
- Views目录:视图文件存储目录(视图文件也可以分目录管理)
Routes目录 路由
- 要想访问方法,必须定义到路由里面去
web.php
,否则不能访问 - 路由文件
web.php
storage目录 主要存放缓存和日志文件
- 在linux下,这个目录需要写入权限
tests目录 测试文件
vendor目录
- 主要放第三方类库文件,laravel的思想就是共同开发,避免重复造轮子,所以这个目录比较大
- laravel框架的源码也在这里面,composer下载的所有文件都在这个目录下面
.env 设置一些系统相关的环境配置文件
- config目录下的配置文件很多都是基于.env获取的,来自.env;
'host' => env('DB_HOST', '127.0.0.1'),
会优先获取env中的DB_HOST的值, 获取不到才会取后面的127.0.0.1
- 一般连接项目,我们
优先在.env中
配置
artisan 脚手架文件
- 用来生成代码,创建控制器,模型,创建数据库文件