genesis/micro-framework

简单的类,与约定绑定。

1.3.0 2021-02-15 20:01 UTC

This package is not auto-updated.

Last update: 2024-09-10 12:59:27 UTC


README

一系列的类,带有一些约定以帮助您开始。

设置

要获取快速入门的样板代码,请运行以下命令(bash/cli 用户熟悉)

composer require genesis/micro-framework
make -f vendor/genesis/micro-framework/Makefile build

在输出结束时,您将收到 composer.json 文件的片段,添加并现在启动本地服务器

make serve

在浏览器中打开 localhost:8000 并应看到 hello world!

如果上述步骤不起作用,请运行 make -f vendor/genesis/micro-framework/Makefile cleanup 并按步骤进行

将以下代码放在您的索引文件中。

  • 假设索引文件在公共文件夹中。
  • 您在 composer.json 文件中有一个自动加载规则,指向控制器文件夹中的 App\Controller 命名空间。
<?php

use Genesis\Microframework\Service\Config;
use Genesis\Microframework\Service\Router;
use Genesis\Microframework\Service\Request;
use App\Controller;

require __DIR__ . '/../vendor/autoload.php';

$router = new Router($_GET, $_SERVER);
$router->registerRoutes(
    [
        '/' => Controller\Index::class,
    ]
);

Config::set('view_path', __DIR__ . '/../src/View/');
$router->dispatchRequest(new Request());

分发器将仅在每个控制器中调用 index() 方法。

数据库

要添加数据库支持,在上面的文件中在 dispatchRequest() 调用之前添加数据库配置,如下所示

Config::set('db_params', [
    'dbengine' => 'mysql',
    'host' => 'localhost',
    'port' => 3306,
    'dbname' => 'myDB',
    'username' => 'root',
    'password' => 'password'
]);

然后调用 getMapperService() 方法以持久化您的模型。有关更多信息,请参阅此处指南 https://github.com/forceedge01/genesis-persistence

视图

在控制器中调用视图如下

# src/Controller/Index
<?php

namespace App\Controller;

use Genesis\MicroFramework\Controller\BaseController;

/**
 * Index class.
 */
class Index extends BaseController
{
    public function index()
    {
        echo $this->render('index.php', [
            'name' => 'Abdul'
        ]);
    }
}

期望有一个视图文件 src/View/index.php,它渲染变量 name。没有提供引擎,但可以添加。