lit/ms
Composer 安装命令:
composer require lit/ms
包简介
超轻量级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 的配置项, 每个配置项都有系统默认值
代码详解
- 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();
- 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"); }); } }
- Controller 目录
<?php //创建 WelcomeController.php 类文件可直接使用 (new WelcomeController())->方法名()调用 return (new WelcomeController())->welcome();
- Static 目录
此目录为静态文件目录, 此目录中的文件通过url地址可以直接访问
例如:
http://hostname/css/app.css
本框架为动态微服务框架,尽量不要使用静态文件和静态HTML
- View 目录
此目录为视图文件目录, 通过一下方法可以直接访问 (new \Lit\Ms\LitMsResponse)->html("HtmlDemo.html"); 本框架为动态微服务框架,尽量不要使用静态文件和静态HTML
- Model 目录
<?php //创建 WelcomeModel.php 类文件可直接使用 (new WelcomeModel())->方法名()调用 return (new WelcomeModel())->welcome();
- 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; } } }
- 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 适用场景与选型建议
lit/ms 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 61 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 03 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「微服务」 「litms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 lit/ms 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lit/ms 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 lit/ms 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
统计信息
- 总下载量: 61
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2020-03-04