genesis / micro-framework
简单的类,与约定绑定。
1.3.0
2021-02-15 20:01 UTC
Requires
- genesis/method-persister: ~1.0
- genesis/persistence: ~2.0
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
。没有提供引擎,但可以添加。