Skip to content

Repository files navigation

开发规范

项目规范

开发环境

软件 版本 说明
php 8.1 涉及到 php8.1 的枚举类等特性
redis 6.2.6 开发版本
nginx 1.20.2 开发版本
mysql 8.0.27 开发版本
supervisor 4.2.3 开发版本

配置信息与环境变量

.env.example

因 .env 不会被纳入版本控制器中,所以本地 .env 里添加变量时 必须 同步到 .env.example 中,以免影响其他项目参与者的工作。

存储位置

存储在 .env 和 config/app.php 文件中,然后使用 config() 函数来读取。

辅助函数

统一放到 app/helpers.php

编码规范

为了提高代码可读性,降低维护难度,在尽量不增大工作量及提高复杂度的情况下,对控制器,路由文件,模型等做了目录分割.开发时应该严格按照这些规则创建文件或目录.

--app                                       app主目录
----Console                                 命令行相关目录
----Exceptions                              异常处理目录
----Http                                    Http目录
------Controllers                           控制器
--------User                                模块名称
----------Auth                              模块功能名称
------------AuthController.php              具体的实现控制器
------Middleware                            中间件
------Requests                              表单验证
--------User                                对应控制器的模块
----------Auth                              对应控制器的功能
------------AuthRequest                     具体表单验证实现
------Resources                             api资源
--------User                                对应控制器的模块
----------Auth                              对应控制器的功能
------------AuthResource                    具体实现
----Models
----Providers
----Supports                                自定义的包或者辅助类存放位置
--bootstrap
--config
--database
--public
--resource
--routes
----custom                                  路由分割
------user.php                              按模块区分
--storage
--tests
--vendor

...                                         以下未作改变

代码风格

必须严格按照PSR-1, PSR-2规范

路由

必须遵循 github 的 restful 路由风格.如:资源名称应当为复数,路由应该只有小写字母中间用-隔开

模型

  • 必须使用数据库迁移创建表
  • 绝不在模型中直接调用登录状态信息,必须将其作为参数传递
  • 模型名称必须为单数
  • 数据库字段命名必须为蛇形
  • 数据填充文件名必须为「复数」,如:PhotosTableSeeder.php
  • 数据库表迁移名字必须为「复数」,如:2014_08_08_234417_create_photos_table.php
  • 数据库表名字必须为「复数」,多个单词情况下使用蛇形, 如:photos, my_photos

控制器

  • 控制器名必须为单数
  • 注释代码必须在调试后删掉,代码中绝不留存注释代码块或未使用代码块
  • 必须按照规范的目录结构放置控制器

表单验证

  • 必须遵循资源路由命名方式进行命名
  • 必须按照规范的目录结构放置表单
  • 一个资源控制器应该只有一个对应的表单,内部通过其他方式对应到不同的方法中

artisan

  • 必须有项目的命名空间

部署说明

部署环境

按照软件版本正确部署服务器环境

部署代码

git clone git@github.com:lfyw/micro-power-pro.git
cd micro-power-pro
composer install

扩展包

包名 版本 说明 环境
laravel/octane ^1.1 服务器
overtrue/laravel-lang ^5.0 中文语言提示
barryvdh/laravel-ide-helper ^2.11 ide助手 dev
doctrine/dbal ^3.2 orm助手 dev
lfyw/opencrypt ^1.0 加密助手

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages