框架Github地址:github.com/Orlion/Minor
(如果觉得还不错给个star哦(^-^)V)
框架作者: Orlion
知乎:https://www.zhihu.com/people/orlion
Github: https://github.com/Orlion
在app/Config/routes.php文件中添加如下配置:
return [ ... '/helloworld' => [ 'name' => 'helloworld', 'controller' => 'AppModulesDemoControllerHelloController', 'action' => 'hello' ], ];
这样配置之后当我们在浏览器中访问http://xxx.xxx.xxx/helloworld时就会执行AppModulesDemoControllerHelloController里的hello方法
在app/Modules文件夹下创建文件夹: Demo/Controller/,然后创建文件HelloController.php,然后在文件中写:
<?php namespace AppModulesDemoController; use MinorControllerController; class HelloController extends Controller { public function hello() {
return View::render('Demo:Hello:hello.php', ['name' => 'World']); } }
在app/Modules/Demo/文件夹下创建文件夹/Tpl/Hello/然后创建hello.php:
Hello <?= $name?>
然后在浏览器中访问:http://xxx.xxx.xxx/helloworld就可以看到Hello World了
发送给应用程序的所有请求都经由 public/index.php
脚本处理。如果使用的是 Apache 服务器,Minor中包含的 .htaccess
文件将对所有请求进行处理并传递给 index.php
。这是Minor从接受客户端请求到返回响应给客户端的整个过程的开始。
当进入indx.php,首先会通过应用配置$config、服务提供者配置$providers、路由配置$routes、事件配置$events来创建一个MinorFrameworkApp对象。在App类的构造函数中会通过$config数组初始化MinorConfigConfig用来对应用的配置进行管理,通过$providers数组初始化服务容器对象:MinorIocServiceContainer用来对应用中的服务提供者进行管理,通过$routes数组创建一个MinorRouteRouter路由对象,通过$events数组来初始化MinorEventEventManager用来对事件进行管理。
当初始化完成App后,就会通过执行App的handle(MinorRequest $minorRequest)方法来对请求作出处理,处理的过程就是首先通过路由(Router)的from($url)方法解析出请求的控制器和方法,然后执行控制器的方法最后返回一个MinorResponse响应对象。
最后一步就是通过MinorResponse对象的send()方法将MinorResponse对象发送给请求的客户端。整个请求的生命周期过程就是这样。