承接 jiangbaiyan/nos-framework 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jiangbaiyan/nos-framework

Composer 安装命令:

composer require jiangbaiyan/nos-framework

包简介

A PHP framework focused on API development based on Yaf by jiangbaiyan && guobutao

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

安装

依赖扩展

  • yaf扩展
  • pdo扩展
  • curl扩展

    框架主体

  • 执行命令:
     composer create-project --prefer-dist jiangbaiyan/nos
    

    收尾工作

  • 赋予logs目录读写权限
  • 生产/开发环境加载的配置文件类别可以到index.php中的yaf.environ配置项去修改
  • 配置nginx等服务器rewrite到/public/index.php入口文件
    server {
      listen ****;
      server_name  domain.com;
      root   document_root;
      index  index.php index.html index.htm;
    

if (!-e $request_filename) {

rewrite ^/(.*)  /index.php/$1 last;

} }

## 集成工具类
 - composer
 - 数据库操作类
 - 配置类
 - 文件操作类
 - 日志处理类
 - 队列操作类
 - 分页操作类
 - Redis操作类
 - 表单验证器类
 - 异常处理类
 - 请求类
 - 响应类
## Controller层使用
### 命名规范
 - 路由:http://localhost/article/query
 - 目录:controllers/Article/Query.php
 - 类名:Article_QueryController
 - 注意路由和文件命名规则要相同,类名必须是一级目录_二级目录_...文件名Controller,必须继承BaseController并实现相应抽象方法indexAction()

<?php

use Nos\Exception\CoreException; use Nos\Exception\ParamValidateFailedException; use Nos\Http\Request; use Nos\Http\Response; use Nos\Comm\Validator; use Common\TestModel;

class Article_QueryController extends BaseController {

/**
 * 业务逻辑
 * @throws CoreException
 * @throws ParamValidateFailedException
 */
public function indexAction()
{
    Validator::make($params = Request::all(), [
        'id'    => 'required',
        'phone' => 'phone|required',
    ]);
    $testModel = new TestModel();
    $data = $testModel->getData();
    Response::apiSuccess($data);
}

}

## Model层使用
 - 注意:目录和文件名必须大写。类名必须为:文件名Model,如果有上级目录必须加上namespace,可继承BaseModel
 - 目录:models/Common/Test.php

<?php

namespace Common;

use Nos\Base\BaseModel;

class TestModel extends BaseModel {

/*
 * 表名
 */
public static $table = 'test';

/**
 * 模型层查询示例
 * @return mixed
 * @throws \Exception
 */
public function getData()
{
    // 要更新的数据
    $params = [
        'name' => 'grapes'
    ];
    // 条件过滤
    $wheres = [
        'id'   => 222
    ];
    // 附加选项
    $option = [
        'id'  => 'asc'
    ];
    // 更新操作
    $row = self::update($params, $wheres);
    // 查询操作
    $data = self::select(['id','name'], $wheres, $option);
    // 返回数据
    return $data;
}

}

## 异常处理
 - 框架内部定义了6种异常,分别对应不同的默认状态码和提示信息
 - 抛出异常后,框架会自动路由到Error.php
 - Error.php会做两件事:写日志、返回json
 - 异常返回的json内容依赖抛异常时的状态码和提示信息
## 内置验证
 - required:必填项
 - phone:手机号
 - email:邮箱地址
 - idCard:身份证
 - date:年月日。如2019-10-18
 - dateTime:时分秒。如17:45:16
 - integer:数字整型
 - numeric:能够转换成数字型的字符串或原本就是数字
 - float:单精度浮点型
 - double:双精度浮点型
 - array:数组类型
 - string:字符串类型
 - bool:布尔类型
 - minNum:数值最小值。如minNum:2
 - maxNum:数值最大值。如maxNum:3
 - minLen:字符串长度最小值。如minLen:2
 - maxLen:字符串长度最大值。如maxLen:3
 - betweenNum:数值在两个值之间。如betWeenNum:1,5
 - betweenLen:字符串长度在两个值之间。如betweenLen:2,4
 - in:是否在给定枚举值之内。如in:jiangbaiyan,grape
 - exist:是否包含某个子串。如exist:baiyan
## 配置信息
 - 自定义的配置需在config目录下建立xxx.ini文件编写
 - 获取配置可以通过Config::get('xxx.ini');来获取
## 依赖引入
 - 如果需要引入库,请直接编辑composer.json并添加需要的库
 - 然后执行composer install/update即可

jiangbaiyan/nos-framework 适用场景与选型建议

jiangbaiyan/nos-framework 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 136 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 10 月 15 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「api」 「NOS」 「yaf」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 jiangbaiyan/nos-framework 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 jiangbaiyan/nos-framework 我们能提供哪些服务?
定制开发 / 二次开发

基于 jiangbaiyan/nos-framework 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 136
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-10-15