承接 lit/ms-demo 相关项目开发

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

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

lit/ms-demo

Composer 安装命令:

composer require lit/ms-demo

包简介

超轻量级PHP微服务框架

README 文档

README

使用Composer 安装

#执行如下命令安装,安装后使用文档中的调用方法即可使用.
composer require lit/ms
然后修改 Server.php 中 autoload 为自己的 vendor/autoload.php .

#执行如下命令,直接创建项目(demo).
composer create-project  lit/ms-demo project-name

初始化项目

修改 Server.php 的配置项, 每个配置项都有系统默认值

代码详解

  1. Server.php
<?php
//autoload
require(dirname(__DIR__).'/vendor/autoload.php');
$server = new \Lit\Ms\LitMsServer();
$server
    ->setHttpHost("0.0.0.0")    //设置监听host ip
    ->setHttpPort(9000)    //设置 监听端口
    ->setWorkerNum(10)    //设置 进程数量
    ->setWorkDir(__DIR__)    //设置项目目录
    ->setDaemonize(false)    //设置是否守护进程
    ->setOpenBaseDir(__DIR__)    //设置读取安全目录
    ->setOpenBaseDir(dirname(__DIR__).DIRECTORY_SEPARATOR."vendor")    //设置读取安全目录
    ->setLogFile("/tmp/litmsError.log")    //设置错误日志文件
    ->setLogLevel(0)    //设置输出错误等级
    ->setSlowLogFile("/tmp/litmsSlow.log")    //设置慢日志文件
    ->setSlowTimeOut(1)    //设置慢日志时间
    ->setDocumentRoot(__DIR__.DIRECTORY_SEPARATOR."Static")    //设置静态目录
    ->setAuthenticate(['user1'=>'123','user2'=>'234','user3'=>'345'])    //开启简单身份认证,设置用户名密码
    ->setSslCertFile("./ssl/demo.pem","./ssl/demo.key") //设置证书文件
    ->setOnStart(__DIR__.DIRECTORY_SEPARATOR."OnStart.php")     //设置启动时先执行的一个文件
    ->run();
  1. Route.php
<?php
/**
 * LitMs 路由
 */

class Route extends Lit\Ms\LitMsRoute {

    function __construct(){

        //注册一个全method路由
        $this->all('/',function ( $request, $response ) {
            return (new WelcomeController())->welcome( $request, $response );
        });

        //注册另一个get路由
        $this->get("/get",function ( $request, $response ) {
            return (new Lit\Ms\LitMsResponse())->string("Method get");
        });

        //注册另一个post路由
        $this->post("/post",function ( $request, $response ) {
            return (new Lit\Ms\LitMsResponse())->string("Method post");
        });

        //注册另一个delete路由
        $this->delete("/delete",function ( $request, $response ) {
            return (new Lit\Ms\LitMsResponse())->string("Method delete");
        });

        //注册另一个静态页面
        $this->get("/html",function ( $request,$response ) {
            return (new \Lit\Ms\LitMsResponse)->html("HtmlDemo.html");
        });

    }

}
  1. Controller 目录
<?php
//创建 WelcomeController.php 类文件可直接使用 (new WelcomeController())->方法名()调用
return (new WelcomeController())->welcome();
  1. Static 目录
此目录为静态文件目录, 此目录中的文件通过url地址可以直接访问
例如:
    http://hostname/css/app.css 
本框架为动态微服务框架,尽量不要使用静态文件和静态HTML
  1. View 目录
此目录为视图文件目录, 通过一下方法可以直接访问
(new \Lit\Ms\LitMsResponse)->html("HtmlDemo.html");
本框架为动态微服务框架,尽量不要使用静态文件和静态HTML
  1. Model 目录
<?php
//创建 WelcomeModel.php 类文件可直接使用 (new WelcomeModel())->方法名()调用
return (new WelcomeModel())->welcome();
  1. Filter.php
//过滤器文件, 只要方法返回 false, 即过滤器生效.<?php
class Filter extends Lit\Ms\LitMsFilter {

    function rule1 ( $request, $response ) {
        return true;
    }

    function rule2 ( $request,$response ) {
        if ($request->get["a"] == 1) {
            return true;
        }else{
            $this->setError(1,__FUNCTION__); //框架返回自定义错误
            return false;
        }
    }
}
  1. Schedule.php
//定时任务文件, 参考实例文件.
<?php
//在 Y-m-d H:i:s 执行一次
Lit\Ms\LitMsSchedule::at( "2020-03-01 21:12:40", function (){
    echo "at ".date("Y-m-d H:i:s")."\n";
},"MyAt");

启动 HTTP 服务

php Server.php 

启动 Schedule 服务

php Server.php Schedule 或 php Server.php Crontab

启动 Shell

php Server.php Shell ModelName/FunctionName 或 php Server.php Command ModelName/FunctionName

lit/ms-demo 适用场景与选型建议

lit/ms-demo 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11 次下载、GitHub Stars 达 1, 最近一次更新时间为 2020 年 06 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

围绕 lit/ms-demo 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: Unknown
  • 更新时间: 2020-06-11