PHP code example of lit / ms-demo
1. Go to this page and download the library: Download lit/ms-demo library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
lit / ms-demo example snippets
//autoload
it\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();
/**
* 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");
});
}
}
//创建 WelcomeController.php 类文件可直接使用 (new WelcomeController())->方法名()调用
return (new WelcomeController())->welcome();
此目录为静态文件目录, 此目录中的文件通过url地址可以直接访问
例如:
http://hostname/css/app.css
本框架为动态微服务框架,尽量不要使用静态文件和静态HTML
此目录为视图文件目录, 通过一下方法可以直接访问
(new \Lit\Ms\LitMsResponse)->html("HtmlDemo.html");
本框架为动态微服务框架,尽量不要使用静态文件和静态HTML
//创建 WelcomeModel.php 类文件可直接使用 (new WelcomeModel())->方法名()调用
return (new WelcomeModel())->welcome();
//过滤器文件, 只要方法返回 false, 即过滤器生效.
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;
}
}
}
//定时任务文件, 参考实例文件.
//在 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");
`BASH
php Server.php
`BASH
php Server.php Schedule 或 php Server.php Crontab
`BASH
php Server.php Shell ModelName/FunctionName 或 php Server.php Command ModelName/FunctionName