# app-cms **Repository Path**: netscript/app-cms ## Basic Information - **Project Name**: app-cms - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-25 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # app-one #### 项目简介 项目为 [laravel](https://learnku.com/docs/laravel/6.x) (^6.0.0) 框架项目 主要目标宗旨: 核心包 + 模块(model,service,logic) + 接口层 分离设置 #### 软件架构 项目依赖: 1. php7.2 (以上,包括7.2) 2. composer 作为项目依赖管理 (core,modules,wap 等初始化都依赖composer) 3. phpunit 作用项目单元测试+接口测试 4. redis2.9~5.0, ^mysql5.6(^mariadb10.0) , ^mongodb4.0 (数据持久层) 4. laravel ^6.0 (框架底层) 5. CentOs^7.0 , crontable 6. nginx | apache 7. api文档使用 openApi(Swagger3.0) 8. git 版本管理工具 9. idea (推荐使用 phpstorm) #### 安装教程 1. 安装php运行环境 (注意要安装php对应版本扩展: php-redis,php-mysql,php-mongo) 请将php 安装目录 加入环境变量 (不同系统,请自行百度) 2. 下载代码 $ cd /your/project_dir # 到项目开发目录(按开发人员习惯,无法强制要求) $ git clone https://gitee.com/netscript/app-one.git 3. 下载 composer composer 中国源: https://install.phpcomposer.com/composer.phar $ cd /your/project_dir/app-one $ wget https://install.phpcomposer.com/composer.phar 4. 代码依赖初始(wap->api服务项目) $ cd /your/project_dir/app-one $ php composer.phar -d=/your/project_dir/app-one/core install && php composer.phar -d=/your/project_dir/app-one/wap install 5. sdk 项目依赖 swoole (window环境初始比较复杂,请在linux|mac上可发时使用,依赖php-swoole扩展) 这里是环境ok时初始命令 $ cd /your/project_dir/app-one $ php composer.phar -d=/your/project_dir/app-one/core install && php composer.phar -d=/your/project_dir/app-one/sdk install 6. 开发测试 $cd /your/project_dir/app-one/wap $php atrisan serve --port=80 $curl http://127.0.0.1/api # 获取浏览器查询 $ http://127.0.0.1/api/docs # swagger docs页面 7. envs 是环境配置目录 加载又 env.lock 决定 8. config 为项目配置 #### 使用说明 1. 项目目录规划说明 app-one | |-- core (核心包,框架包,通用包) | |--- modules (模块包|业务包) | |-- wap (网站api端) | |-- sdk (sdk端) | |-- developer (开发自动化相关端[自动部署,服务质量,日志处理,邮件]) | |-- worker (后台任务,队列任务端) 2. 项目全局函数 风格 小写加下划线 eg : core_path('core') 3. 项目数组(元组) 小写加下划线 eg : ['expire_time'=>1] 4. 项目变量使用驼峰法加类型后缀(推荐,不强制) eg : $retArr = ['name'=>'hello'] #### 请杜绝字母变量 eg: $a , $I 类型后缀: Array => Arr Object => Obj Number => Num String => Str 5. 请按 [PSR-4](https://www.php-fig.org/psr/psr-4/) 规范 发定义类的命名空间(namespace) 与类名(xxx.php) #### 请杜绝 Tp 命名规则 xxx.class.php 6. 应用加载逻辑 1. user-->(nginx|apache)--> web-server-->(php-fpm|php-swoole)--> php-process 2. php-process --> app-one(wap|sdk|developer) 3. public/index.php 4. bootstrap(vendor) -> core(vendor) -> [wap|sdk|developer](vendor) 5. laravel.init(底层框架初始)->载入相关核心服务类->加载自定义环境配置->注册框架相关服务 6. App Providers 项目应用提供者 注册 项目服务,路由,事件 7. Http请求路由解析 -> 中间件 -> Controller(call->Service->logic) -> Response(响应) 7. wap|sdk|developer 项目下有 artisan 命令 $ php artisan # 项目开发工具|维护命令 8. 应用目录(wap|sdk|developer) 与laravel 一致 9. env.lock 为开发环境切换配置文件 不在版本管理之内 env.lock 内容为 local -> 加载本地 local.env prod -> 加载 prod.env #### 参与贡献 1. Fork 本仓库 2. 新建 Feature_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) #### 涉及相关软件或网址 phpstudy: https://m.xp.cn mongodb: https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.1-signed.msi mongodb官网: https://www.mongodb.com/download-center/community mariadb : https://mariadb.org php扩展下载网页 :http://pecl.php.net psr 规范中文说明: https://www.jianshu.com/p/b33155c15343 phpstorm : https://www.jetbrains.com/phpstorm/