皮米像素 / 纳米框架
纳米框架 - 比最简单的框架还简单
0.7.0
2022-01-30 17:44 UTC
Requires
- php: ^8.0
Requires (Dev)
- phpmd/phpmd: ^2.4
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.0
README
注意
截至2021年,此产品不再有免费支持团队。如果您想维护此产品,请支持我的工作。
备注
(此产品可在免费和宽松的许可证下使用,但需要财务支持以维持其持续改进。除了维护和稳定性外,还有许多希望添加的功能。)
纳米框架
纳米是一个非常简单、愚蠢的框架,处理起来非常容易,效率也很高。
它仅实现了MVC设计模式中的C部分(控制器),允许开发者为其他部分使用任何其他现有的库
安装
composer require femtopixel/nano-framework
引导
您所有的请求都可以重定向到您的引导(假设为index.php)
<?php require_once ('vendor/autoload.php'); $nano = new \Nano\Framework(); $nano->dispatch();
就这些!
它是如何工作的?
有了这个,您现在可以这样访问您的页面
http://mysite.tld/ <controller>/<action>
它将加载类 \Project\Controller\<controller>::<method><action>Action
您可以轻松配置您的命名空间、控制器包和操作后缀!
<method> 表示使用的HTTP方法(通常是 get,但您可以使用post/update/delete等...)。这是可选的。
<controller> 或 <action> 都是可选的,如果未定义,则视为 'index'。
因此
参数匹配
从0.6.0版本开始,您可以使用 "参数匹配"
在分发时简单激活它
require_once ('vendor/autoload.php'); $nano = new \Nano\Framework(); $nano->setParameterMatching()->dispatch();
然后您就可以这样使用它
<?php namespace \Project\Controller; class MyAwesomeController { public function getHelloAction($age, $name) { echo "Hello $name, I'm {$age}yo"; //please, use this code for test only } }
并调用 http://mysite.tld/myawesomecontroller/hello?name=World&age=900 来显示 "Hello World, I'm 900yo" !
