gcsystem/scaffolding

GCsystem PHP 框架的脚手架插件

安装: 139

依赖项: 2

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

类型:项目

dev-master / 1.0.x-dev 2018-05-31 07:29 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:32:31 UTC


README

  • 开源
  • 版本:3.1 Bêta
  • 作者:Fabsgc
  • 贡献者:Lucas5190, t1307
  • 描述:GCsystem 框架的脚手架插件

安装

  • 在 composer 中添加
"autoload": {
	"psr-4": {
		"Scaffolding\\" : "vendor/gcsystem/scaffolding/src"
	}
},

然后,创建一个新的控制器,并将 extends Controller 替换为 extends \Scaffolding\Scaffolding

<?php
	namespace Gcs;

	use System\Config\Config;
	use System\Response\Response;

	/**
	 * Class Scaffolding
	 * @package Gcs
	 * @Before(class="\Gcs\Scaffolding", method="init")
	 */

	class Scaffolding extends \Scaffolding\Scaffolding {

		public function init() {
			if (Config::config()['user']['debug']['environment'] != 'development') {
				Response::instance()->status(404);
			}
		}
	}

有五个操作,除了第一个,其余都需要一个或两个 GET 参数:"entity"(实体名称)和 id(主键)

  • home
  • entity
  • insert
  • update
  • delete

您可以重写这些方法来自定义管理。

然后例如创建这些路由

<group name="scaffolding" url="/scaffolding" action="scaffolding">
  <route name="default" url="(/*)" action="home"/>
  <route name="insert" url="/entity/insert/([a-zA-Z]+)(/*)" action="insert" vars="entity"/>
  <route name="update" url="/entity/update/([a-zA-Z]+)/([0-9]+)(/*)" action="update" vars="entity,id"/>
  <route name="delete" url="/entity/delete/([a-zA-Z]+)/([0-9]+)(/*)" action="delete" vars="entity,id"/>
  <route name="entity" url="/entity/([a-zA-Z]+)(/*)" action="entity" vars="entity"/>
</group>

许可证

licence MIT