2017 © Pedro Peláez
 

library rt-object

Create an entity class to use mysql like NOSQL way.

image

remithomas/rt-object

Create an entity class to use mysql like NOSQL way.

  • Monday, January 20, 2014
  • by remithomas
  • Repository
  • 0 Watchers
  • 0 Stars
  • 13 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

rt-object Build Status

Create an entity class to use mysql like NOSQL way., (*1)


Ask for contributions

Some ideas to implement to this useful code ? Or ups some errors appear, (*2)


Requirements

# 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, (*3)

<?php
return array(
    'modules' => array(
        'Application',
        'RtObject',
    )
);
?>

What's an object ?

An object is just 2 tables into your database: * object * object_data, (*4)

How to use it

Basic

Create a file Application\Entity\MyObject.php into module/Application/src/Application/Entity, (*5)

<?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

The Versions

20/01 2014

dev-master

9999999-dev https://github.com/remithomas/rt-object

Create an entity class to use mysql like NOSQL way.

  Sources   Download

The Requires

 

zf2 nosql mysql object insert duplicate

20/01 2014

1.0.0

1.0.0.0 https://github.com/remithomas/rt-object

Create an entity class to use mysql like NOSQL way.

  Sources   Download

The Requires

 

zf2 nosql mysql object insert duplicate