命名规范

Posted dennylau

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了命名规范相关的知识,希望对你有一定的参考价值。

创建数据数 如果改变 通知开发人员 修改配置 有本数据库所有权限

  • 数据库名称 我爱我会数据库名称
  • 数据库用户名 我爱我会数据库用户名
  • 数据库密码 我爱我会数据库密码

Redis 通知开发人员 添加配置 0本地 1开发 2测试 预发布线上使用线上的redis

  • 127.0.0.1
  • 无密码

获取代码 git 指定分支 dev 注意git权限问题

 git clone git@xxxx.git
 cd xxx
 git checkout dev
 git pull

文件夹权限 path 代码目录

 cd src
 chmod -R 755 public/uploads
 chmod -R 755 storage

composer 安装 并执行安装命令 提示可能有需要php扩展

 cd src
 composer install --optimize-autoloader --no-dev

代码配置文件 复制src目录下 .env.test .env

 cd src
 cp .env.test .env

执行命令 数据迁移 数据初始化

 cd src
 php artisan migrate
 php artisan db:seed

配置定时任务(安装 crontab) path 代码目录 用途:执行定时任务等 (非本地环境)

 crontab -e
 * * * * * php path/src/artisan schedule:run >> path/src/storage/logs/crontab.log 2>&1
 :wq

 service crond restart

配置邮件守护进程(安装 supervisor) path 代码目录 用途:邮件队列 配置文件: (非本地环境)

 [program:queue-qly-test-email]
 process_name=%(program_name)s_%(process_num)02d
 command=php path/src/artisan queue:work --queue=email --sleep=3 --daemon
 autostart=true
 autorestart=true
 numprocs=1
 stdout_logfile=path/src/storage/logs/queue_email.log
 stderr_logfile=NONE
 user=nginx

配置守护进程 path 代码目录 用途:队列 配置文件:

 [program:queue-qly-test]
 process_name=%(program_name)s_%(process_num)02d
 command=php path/src/artisan queue:work --sleep=3 --daemon
 autostart=true
 autorestart=true
 numprocs=2
 stdout_logfile=path/src/storage/logs/queue.log
 stderr_logfile=NONE
 user=nginx

配置 nginx 接口域名 path 代码目录 (php 解析)(php 解析)(php 解析) 域名解析 *.woaiwohui.com

 listen 80;
 server_name woaiwohui.com;
 root "pathsrcpublic";

 index index.html index.htm index.php;
 location / {
     try_files $uri $uri/ /index.php?$query_string;
 }

 location ~ .php(.*)$ {
     fastcgi_pass   127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     fastcgi_param  PATH_INFO  $fastcgi_path_info;
     fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
     include        fastcgi_params;
 }

后台管理 admin 密码 Aa123456

woaiwohui.com/xxx/xxx 访问

PHP代码开发规范

  • https://psr.phphub.org/
  • https://learnku.com/docs/laravel/5.7

框架结构

  • src
    • app
      • Common 公共的
      • Http
        • Admin Admin模块层
          • Controllers 控制器层
            • Group 控制器层分组
          • Block 业务逻辑块
            • Group
          • Models 数据库模型层 原子操作
            • Group
          • Rules 数据验证层
            • Group
          • Services 实例化调用数据库模型层 原子操作
            • Group
          • Transformers 数据输出转换层(辅助输出)
            • Group

分組机制

  • 一个单词不分组 多单词取第一个单词做分组名称
  • 控制器在分组里面可省去第一个单词 如 user_contact 分组名称 User 控制器名称 contact 其他必须全称
  • 其他结构一律按照分组模式命名

返回数据错误码

  • 单个接口返回错误码 1000开始
  • 小于1000作全局错误码

数据库开发设计规范

  • 表名命名 不可用复数表 附加表保持主要为前缀 同类型表也可保持同前缀
    • 例如 user user_relation user_contact
  • 禁用使用NULL作默认值 NOT NULL DEFAULT ‘‘
  • 表主键一律用 id bigint(20)
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
  • 字段顺序 id 关系主键 类型 主要内容 次要内容 时间 软删除 状态
  • 时间戳 demo_at _at结尾
`updated_at` bigint(20) UNSIGNED NOT NULL DEFAULT '0' COMMENT '更新时间',
  • 状态status 作后缀 status本身也可做状态 1正常 -1禁用 模型中 常量声明 例如
  /**
   * 状态 已禁用
   */
  const STATUS_DISABLED = -1;
  /**
   * 状态 正常
   */
  const STATUS_NORMAL = 1;
  /**
   * 状态
   */
  const STATUS = [
      self::STATUS_DISABLED => '已禁用',
      self::STATUS_NORMAL => '正常',
  ];
  • 删除使用框架自带软删除 deleted_date
  `deleted_date` timestamp NULL DEFAULT NULL COMMENT '删除时间',
  
  self::where('id', $id)->delete();      //删除用户
  self::where('id', $id)->withTrashed(); //显示所有数据
  self::where('id', $id)->onlyTrashed(); //显示删除数所
  self::where('id', $id)->restore();     //还原数据
  • 类型 0=已禁用 1=正常

路由命名及POST GET

  • 模块/{分组名/}控制器/方法
  • URL中字母全部小写
  • 为内容资源的URL,不能有参数 比如 detail?goods_id=1 改成 detail/1
  • 命名 模块命名 分组命名 和分组命名机制相同
  • 幕等且安全使用GET 不幕等或者参数需要有安全需要 POST

安装命令

cd src
composer install

数据迁移命令

cd src
php artisan make:migration add_users_table --table=users
php artisan make:migration change_users_table --table=users
php artisan make:migration create_users_table --create=users
php artisan migrate
php artisan migrate:rollback
php artisan migrate:reset
php artisan migrate:refresh

初始化数据

cd src
php artisan db:seed

数据迁移 删除文件出现错误 加载文件错误等

cd src
composer dump-autoload

自动加载优化

cd src
composer dump-autoload --optimize

类命名规范

勿使用下划线。
使用大驼峰写法。

方法/函数命名规范

使用小驼峰

以上是关于命名规范的主要内容,如果未能解决你的问题,请参考以下文章

php Yoast SEO规范输出的代码片段

php Yoast SEO规范输出的代码片段

浅析普通函数与构造函数

有没有办法关闭代码片段中的命名建议?

Android开发代码规范

JAVABEAN命名规范