remithomas/rt-object
Composer 安装命令:
composer require remithomas/rt-object
包简介
Create an entity class to use mysql like NOSQL way.
README 文档
README
Create an entity class to use mysql like NOSQL way.
Ask for contributions
Some ideas to implement to this useful code ? Or ups some errors appear
Requirements
- Zend Framework 2 (latest master)
- MySQL server
- RtExtends
Installation
How to install ?
Using composer.json
{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"zf2"
],
"minimum-stability": "dev",
"homepage": "http://framework.zend.com/",
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "dev-master",
"remithomas/rt-object": "dev-master"
}
}
Activate the module :
application.config.php
<?php return array( 'modules' => array( 'Application', 'RtObject', ) ); ?>
What's an object ?
An object is just 2 tables into your database:
- object
- object_data
How to use it
Basic
Create a file Application\Entity\MyObject.php into module/Application/src/Application/Entity
<?php namespace Application\Entity\Entity; use RtObject\RtObject\RtObject; class MyObject extends RtObject{ public function __construct() { parent::__construct("myobject", "myobject_data", "myobjectid"); } }
Install object
$myObject = new \Application\Entity\MyObject(); $myObject->install(); // if you need extra columns to your object, add into your *module/Application/src/Application/Entity/MyObject.php* this code public function install($extraColumnObject = array(), $extraColumnDataObject = array(), $extraTableObject = '', $extraTableDataObject = '') { parent::install(array( 'extra_one' => "int(11) NOT NULL DEFAULT '1'", 'extra_two' => "varchar(512) CHARACTER SET utf8 NOT NULL", )); } // extra columns to object data public function install($extraColumnObject = array(), $extraColumnDataObject = array(), $extraTableObject = '', $extraTableDataObject = '') { parent::install(array( 'extra_one' => "int(11) NOT NULL DEFAULT '1'", 'extra_two' => "varchar(512) CHARACTER SET utf8 NOT NULL", ), array( 'extra_one' => "int(11) NOT NULL DEFAULT '1'", 'extra_two' => "varchar(512) CHARACTER SET utf8 NOT NULL", )); }
Create object
$myObject = new \Application\Entity\MyObject(); $myObject->createObject(); $myObjectId = $myObject->getObjectId();
Get object
$myObject = new \Application\Entity\MyObject(); $myObject ->setObjectId(1); $myObjectInfo = $myObject->getObject();
Add data to object
$myObject = new \Application\Entity\MyObject(); $myObject ->setObjectId(1); ->insertData("mycategory","mykey", "myvalue", "text"); // using extra column (to object data) $myObject = new \Application\Entity\MyObject(); $myObject ->setObjectId(1); ->insertData("mycategory","mykey", "myvalue", "text", array("extra_one"=>1234));
Get object data
$myObject = new \Application\Entity\MyObject(); $myObject ->setObjectId(1); $myObjectData = $myObject->getObjectData(); // get some data $myObjectData = $myObject->getObjectData("mycategory", "mykey");
Search object from value
$myObject = new \Application\Entity\MyObject(); $aMyObjects = $myObject->searchValue("myvalue","text",100,0);// limit=100 && offset=0
object is existing
$myObject = new \Application\Entity\MyObject(); $myObject ->setObjectId(1); $bMyObject = $myObject->isExisting();
Roadmap
- remove data from category
- some tools/javadoc
- PHPunit tests
统计信息
- 总下载量: 18
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2013-11-19