clagiordano/weblibs-mvc

weblibs-mvc是一个简单且轻量级的PHP路由组件。

v1.1.2 2018-07-19 09:21 UTC

README

BuildStatus License

weblibs-mvc

weblibs-mvc是一个简单且轻量级的PHP路由组件。该组件可以通过简单地添加一个.htaccess文件来支持RESTful,更多详情请见下文。

SensioLabsInsight

基于http://php-html.net/tutorials/model-view-controller-in-php/
基于http://phpro.org/tutorials/Model-View-Controller-MVC.html#9

主要组件的描述

应用

应用类是主要组件,负责处理组件之间的交互和关联。

控制器

控制器是MVC中的C。基础控制器是一个简单的抽象类,定义了所有控制器的结构。通过在这里包含注册表,注册表对所有继承自基础控制器的类都是可用的。基础控制器还包含了一个index()方法,这意味着所有继承自它的控制器类都必须有自己的index()方法。

注册表

注册表是一个对象,可以存储全局变量,而无需使用全局变量。通过将注册表对象传递给需要它的控制器,我们可以避免全局命名空间的污染,并使我们的变量更安全。我们需要能够设置注册表变量并获取它们。

路由

路由类负责加载正确的控制器。它什么也不做。控制器的值来自URL。

模板

模板本身基本上是带有少量嵌入PHP的HTML文件。不要让那些想要告诉你需要完全分离HTML和PHP的分离主义者来说服你。记住,PHP是一种可嵌入的脚本语言。这是它设计用于完成的任务,并使其成为一个高效的模板语言。模板文件属于views目录。

安装

推荐通过Composer安装weblibs-mvc。

composer require clagiordano/weblibs-mvc

向目标项目添加RESTful支持

只需在项目根目录中添加一个名为.htaccess的文件
(确保web服务器允许覆盖),其中包含以下行

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]

这简单的步骤允许您的应用进行RESTful调用

http://www.example.com/clients/68563
http://www.example.com/access/login
http://www.example.com/chart/
http://www.example.com/products/6574

使用

/**
 * Composer autoload
 */
require_once __DIR__ . '/vendor/autoload.php';

/**
 * Import required classes
 */
use clagiordano\weblibs\mvc\Application;
use clagiordano\weblibs\mvc\Registry;
use clagiordano\weblibs\mvc\Router;
use clagiordano\weblibs\mvc\Template;

/**
 * Init base application
 * @var Application $application
 */
$application = new Application();

/**
 * Router setup
 */
$application->setRouter(
    new Router($application)
);

/**
 * set the path to the controllers directory
 */
$application->getRouter()->setControllersPath(
    __DIR__ . '/controllers'
);

/**
 * Template setup
 */
$application->setTemplate(
    new Template($application)
);

/**
 * load the controller / run the application
 */
$application->getRouter()->loader();

法律

版权(C)Claudio Giordano claudio.giordano@autistici.org