我创建了一个Web应用程序,它充当特定表单输入的信息库。让我们说如果想要存储地理位置,那么我在应用程序中创建以下结构以便管理它:
关于模型表示,其结构映射在xml和php对象中,如下所示:
PHP类:
namespace models;
class Geolocation{
protected $id;
protected $latitude;
protected $longitude;
public function __construct($latitude, $longitude)
{
$this->latitude = $latitude;
$this->longitude = $longitude;
}
}
XML对象图:
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="models\Geolocation" table="geolocation">
<id name="id" type="integer" column="id_geolocation">
<generator strategy="AUTO" />
</id>
<field name="latitude" column="latitude" type="integer" nullable="false"/>
<field name="longitude" column="longitude" type="integer" nullable="false"/>
</entity>
上面的结构只是应用程序中的一个实体,有&#34;人&#34;,&#34;宠物&#34;,&#34;水果&#34;等等。直到现在一直都是我可以轻松地手动创建每个组件(模型,表,视图,控制器),因为应用程序增长流程相对较慢。今天我醒来了,因为应用程序越来越大,我需要创建大量的新存储库。
所以,我正在考虑创建一个新的应用程序,它可以从像XML这样的整合文件中动态创建所有这些元素。然后,应用一些XSLT和/或php逻辑,以生成模型,视图,表,以及为什么不是控制器。也许是这样的:
<repository>
<name>Geolocation</name>
<table>geolocation_table</table>
<fields>
<field name="latitude" column="latitude" type="integer" nullable="false" input="text" style="text-large">
<rules>required, integer</rules>
</field>
<field name="longitude" column="longitude" type="integer" nullable="false" input="text" style="text-large">
<rules>required, integer</rules>
</field>
</fields>
</repository>
但是在开始这个新的挑战之前,我想知道是否存在可以重现类似的存在和应用程序。我知道这种关注听起来像是一切 - 一切 - 本身&#34;是的,但我真正想要避免的是重新发明温水。如果没有,好的,如果有必要,我会从头开始创建它。
仅供参考,我使用这些工具:
修改
看起来我指的是Yii Framework
中名为Gii的非常相似的模块