Skip to content

lfyw/micro-power-pro

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published