Pylon-ENT 主要解决是数据的永久化以及数据的查、插、删、改的逻辑。

如何在数据库中保存数据:

1. 编写Entity实体

2. 在SQL 脚本上创建数据表,并加入初始化数据

3. 自动永久化

自动永久化是pylon自动完成的,详见Entity自动永久化,本节主要介绍Entity实体的编写,下节介绍数据表的创建。

实体文件的路径是:src/logic/bizdomain/entity

1. 先看一个非关联的实体:


<?php
class person extends Entity
{/*{{{*/
    static public function createByBiz($name, $phone, $address)
    {/*{{{*/
        $cls = __CLASS__;
        $obj = new $cls(EntityID::create(strtolower($cls)));
        $obj->name           = $name;
        $obj->phone          = $phone;
        $obj->address        = $address;
        return Entity::createByBiz($obj);
    }/*}}}*/
}/*}}}*/

?>

上段代码是创建实体的模板,需要我们自定义的有:实体名(person)、函数参数($name, $phone, $address)、要添加的数据属性名($obj->name, $obj->phone, $obj->address),其他的照葫芦画瓢就行了,至于原理,以后再说吧。。。
2. 再来看一个关联另一个实体的实体


<?php
class msg extends Entity
{/*{{{*/
    static public function createByBiz($name,$text,$person)
    {/*{{{*/
        $cls = __CLASS__;
        $obj = new $cls(EntityID::create(strtolower($cls)));
        $obj->name           = $name;
        $obj->text          = $text;
        $obj->person        = $person;
        return Entity::createByBiz($obj);
    }/*}}}*/
}/*}}}*/

?>

创建关联实体只是在函数参数和数据属性上多加了一条要关联的实体对象(person),另外特别要注意的是:在创建数据表时,要在关联实体对应的数据库中(msg)创建一个名为person__id的属性,来关联实体person。

关联实体有什么用呢?关联实体能方便的表现出实体与实体之间的关系,另外在对关联实体使用时,可方便地“顺便”操作被关联的实体,以后会详细讲到。

以上只是实体的最基本应用:像数据库插入数据,还有一些其他业务方法,详见Entity

 

F.A.H^_^Amber