SilangPHP是一款极简 http 组件,提示Api、Service模式。
非标准化http-message, 路由使用fastroute结合
composer create-project "silangtech/silangweb:dev-master" project1
addRoute(方法, 路由规则, Callable, middleware);
\SilangPHP\Route::addRoute('GET', 'silangphp/index', '\\App\\Controller\\IndexController@Index');
addGroup(前缀,Callable, middleware);
\SilangPHP\Route::addGroup('silangphp', function(){
\SilangPHP\Route::addRoute('GET', 'index', '\\App\\Controller\\IndexController@Index');
});
\SilangPHP\Route::use(funciton($c){
// 逻辑前
\SilangPHP\Route::next();
// 逻辑后
});
Class IndexController{
// 一定要加$c参数,主要返回相关的context
public function Index($c)
{
}
}
public function Index($c)
{
$c->reqeust->item('test', '');
$c->reqeust->get('test', '');
$c->response->json(0, 'test', '1234');
}
新建好index.php即可
// 定义好与vendor同目录即可,加载composer使用
define("PS_ROOT_PATH", dirname(dirname(FILE)));
// 设置你自己的Config路径, 不然读取不了Config
define("PS_CONFIG_PATH", PS_ROOT_PATH."/Config/");
// 设置你项目的tmp路径
define("PS_RUNTIME_PATH", PS_ROOT_PATH."/Runtime/");
// 加载composer
require_once(PS_ROOT_PATH."/vendor/autoload.php");
// 这里处理Route
include 'Route.php'; // 这里自己思考即可
//运行框架
\SilangPHP\SilangPHP::run();
// 定义好与vendor同目录即可,加载composer使用
define("PS_ROOT_PATH", dirname(dirname(FILE)));
// 设置你自己的Config路径, 不然读取不了Config
define("PS_CONFIG_PATH", PS_ROOT_PATH."/Config/");
// 设置你项目的tmp路径
define("PS_RUNTIME_PATH", PS_ROOT_PATH."/Runtime/");
require_once(PS_ROOT_PATH."/vendor/autoload.php");
// 输入要运行的命令
\SilangPHP\SilangPHP::runCmd($argv[1] ?? '', $argv[2] ?? '');
\SilangPHP\SilangPHP::HTML('/web/index.php', $params);
\SilangPHP\SilangPHP::setCache('key', 'test');
\SilangPHP\SilangPHP::getCache('key');
hyperf/database 功能十分强大,但也不可否认效率上确实些许不足。这里提供一个极简的 hyperf/db 组件,支持 PDO 和 Swoole Mysql。 安装 composer require hyperf/db 发布组件配置 该组件的配置文件位于 config/autoload/db.php,如果文件不存在,可通过下面的命令来将配置文件发布到骨架去: php bin/hyper
本文向大家介绍JavaScript极简入门教程(三):数组,包括了JavaScript极简入门教程(三):数组的使用技巧和注意事项,需要的朋友参考一下 阅读本文需要有其他语言的编程经验。 在 JavaScript 中数组是对象(而非线性分配的内存)。 通过数组 literal 来创建数组: 数组有一个属性 length(而对象没有)表示数组的长度。length 的值为数组的最大整数属性名加 1:
Kotlin是JetBrains团队开发的一门现代的、注重工程实用性的静态类型编程语,JetBrains团队以开发了世界上最好用的IDE而著称。
1. 概述 2. 部署单机 TC Server 3. 部署集群 TC Server 4. 接入 Java 应用 1. 概述 Seata 是阿里开源的一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。 1.1 四种事务模式 Seata 目标打造一站式的分布事务的解决方案,最终会提供四种事务模式: AT 模式:参见《Seata AT 模式》文档 TCC 模式:参见《Seata
为了更好理解Hooks原理,这一节我们遵循React的运行流程,实现一个不到100行代码的极简useState Hook。建议对照着代码来看本节内容。 工作原理 对于useState Hook,考虑如下例子: function App() { const [num, updateNum] = useState(0); return <p onClick={() => updateNum(
非常简单的倒计时,按住鼠标顺时针拖动增加时间,逆时针拖动减少时间,松开鼠标自动开始倒计时。 参考了安卓应用Ovo