mcshane/chem-mvc

轻量级PHP MVC框架

0.0.3 2020-08-10 01:43 UTC

This package is auto-updated.

Last update: 2024-09-05 07:42:09 UTC


README

这是一个轻量级、高度可配置、可扩展、易于集成的MVC框架,它实现了严格的自定义类映射和类型转换过程,用于控制器操作参数的数据类型(特别是对象)。

安装

使用composer安装

composer require mcshane/chem-mvc

使用模板开始更快

只需将 'my-project' 替换为您的项目名称

composer create-project eadrom/chemmvc-template my-project

删除 'my-project' 根目录下新安装的composer文件,然后cd到 'my-project'/app/ 并运行

composer install

项目结构已设置,composer依赖已安装。您现在可以开始构建您的Web项目了。

到控制器。

用法

Chem MVC基于一个路由催化剂,假设url结构为

/ControllerName/ActionName/Params

以下url为例

https://my-site.cool/

使用Chemistry MVC的默认路由,此url将调用'/home/index'操作。'home'是默认控制器名称,'index'是默认操作名称。反过来,上述url将与以下等价。

https://my-site.cool/home/index

虽然这些路由行为可以被更改,但这里假设您保持不变。

导航到项目中的 my-project/app/controllers/homeController.php

对于模板的新安装,它应该如下所示

<?php 
namespace app\controllers;
use ChemMVC\controller as Controller;

class homeController extends Controller
{
    function index(){
        return parent::view();
    }
}

很简单,这个 homeController 类有一个 index 操作。index操作调用扩展的 ChemMVC\controller 类的 view 方法。此方法自动定位文件 my-project/app/views/home/index.php。这种行为对于任何控制器中的任何操作都是可能的。其中控制器名称是目录,操作名称是文件名加 '.php'。

例如,如果 homeController 如下所示

class homeController extends Controller
{
    function couldBeCooler(){
        return parent::view();
    }
}

那么

https://my-site.cool/home/couldBeCooler

将处理并返回 my-project/app/views/home/couldBeCooler.php 的结果。

更多内容即将到来

有任何改进的想法吗?Fork此仓库并创作您的艺术。我甚至还没有谈到TDBM(以下链接)。

依赖列表(以及它们存在的原因)

  • TDBM - 将数据库建模为可用的PHP类,具有内置的CRUD操作、数据结构和数据要求。