laravel(一) 框架对比及目录结构
2020-11-12 本文已影响0人
mafa1993
Laravel
框架对比
- tp
- 入门简单,易于扩展
- 轻量级
- 适合中小项目开发
- 目录结构混乱
- tp适合中小型商业项目
- yii
- 开发快,运行快,性能优异,模型使用方便
- 对model层的指导和考虑少,文档实例少,英文多,对php技术要求高
- view不是纯html,包含php代码
- 适合大型商业化项目,yii是性能与组件化框架
- laravel
- 支持TDD DDD BDD
- 集合了各种设计模式,ioc容器,依赖注入
- 组建式框架,比较臃肿
- 适合大中型项目,以组件化为主的框架
composer
php包管理工具,进行包的安装和更新
- packagist.org,官方仓库
- repository代码仓库,支持公开与私有仓库
- vender directory 依赖包一般安装在vender目录下
- 根据composer.json到packagist查找对应代码仓库位置,然后去repository拉取
composer优势
- 可以轻松解决依赖问题
- 统一仓库文件的格式
- 形成统一的包管理规范
composer简单使用
- composer require xxx/xxx require包名
- composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 修改源为阿里
- composer create-project --prefer-dist laravel/laravel blog
- laravel 所需要的php扩展
- BCMath ;Ctype;Fileinfo;Json;Mbstring;Openssl;PDO;Tokenizer;XML
目录结构
|--- app --- 应用目录 , 控制器,中间件,服务目录
| |-- Console -- 命令行目录
| |-- Exceptions -- 异常目录
| |-- Http -- 网络请求目录
| |-- Providers -- 服务提供目录
| |...... |--- bootstrap --- 启动目录
| |-- cache -- 路由和服务缓存目录
| |-- app.php -- 应用启动文件
|--- config --- 应用配置目录
| |-- app.php -- 应用配置文件 用的多
| |-- auth.php -- 认证配置文件
| |-- broadcasting.php -- 广播配置文件
| |-- cache.php -- 缓存配置文件
| |-- database.php -- 数据库配置文件
| |......
|--- database --- 数据库目录
| |-- factories -- 模型工厂目录
| |-- migrations -- 数据迁移目录
| |-- seeds -- 种子目录
| |......
|--- public --- 公共目录 入口文件目录
| |-- css -- 公共css目录
| |-- js -- 公共js目录
| |-- index.php -- 入口文件
|--- resources --- 资源目录 视图在内
| |-- lang -- 语言包目录
| |-- sass -- sass目录
| |-- views -- 模板目录
|--- routes --- 路由目录
| |-- api.php -- api路由定义
| |-- console.php -- 控制台路由定义
| |-- web.php -- 网页路由定义
|--- storage --- 存储目录
| |-- app -- 存储应用生成的文件
| |-- framework -- 存储框架生成的文件和缓存
| |-- logs -- 存储日志
|--- tests --- 单元测试目录
|--- vendor --- 第三方类库目录
| |-- composer -- composer目录
| |-- laravel -- laravel框架目录
| |-- symfony -- symfony组件目录
| |-- autoload.php -- 自动加载入口文件
| |......
|--- .env --- 环境变量配置文件
|--- artisan --- artisan工具文件
|--- server.php --- 命令行应用测试文件
|.........
编写规范
- 方法名可以使用 get、post、delete+动作的restful风格
- 模板引擎为blade,{{$abc}} 使用 {{-- xxx -}}注释 @if @endif
- 模板名 控制器名.blade.php