public function initByData( array $data = null )
    {

        if( !$data ) {
            return null;
        }

        // table inheritance - ghetto?
        /*
        if( isset( $data['tableoid'] ) ) {
            if( $data['tableoid'] != static::OID ) {
                $repo = Repository::init( $data['tableoid'] );
                return $repo->initByData( $data );
            }
            unset( $data['tableoid'] );
        }
        */

        $key = call_user_func(
            array( $this->entityClass, 'keyGet' ),
            $data
        );

        // is this already in the cache? Are we initalising something we've already loaded?
        if( isset( $this->instancesPersisted[$key] ) ) {

            // Late loading? Don't need this anymore.
            $obj = $this->instancesPersisted[$key];
            $obj->__construct( $data );
            return $obj;

        }

        $obj = parent::initByData($data);
        $this->instancesPersisted[$key] = $obj;

        return $obj;

    }
public function initByData( array $data = null )
    {

        if( !$data ) {
            return null;
        }

        // table inheritance - ghetto?
        /*
        if( isset( $data['tableoid'] ) ) {
            if( $data['tableoid'] != static::OID ) {
                $repo = Repository::init( $data['tableoid'] );
                return $repo->initByData( $data );
            }
            unset( $data['tableoid'] );
        }
        */

        $key = call_user_func(
            array( $this->entityClass, 'keyGet' ),
            $data
        );

        // is this already in the cache? Are we initalising something we've already loaded?
        if( isset( $this->instancesPersisted[$key] ) ) {

            // Late loading? Don't need this anymore.
            $obj = $this->instancesPersisted[$key];
            $obj->__construct( $data );
            return $obj;

        }

        $obj = parent::initByData($data);
        $this->instancesPersisted[$key] = $obj;

        return $obj;

    }
public function initByData ( array $ data = null ) { if ( ! $ data ) { return null ; } // table inheritance - ghetto? /*
        if( isset( $data['tableoid'] ) ) {
            if( $data['tableoid'] != static::OID ) {
                $repo = Repository::init( $data['tableoid'] );
                return $repo->initByData( $data );
            }
            unset( $data['tableoid'] );
        }
        */ $ key = call_user_func ( array ( $ this -> entityClass , 'keyGet' ) , $ data ) ; // is this already in the cache? Are we initalising something we've already loaded? if ( isset ( $ this -> instancesPersisted [ $ key ] ) ) { // Late loading? Don't need this anymore. $ obj = $ this -> instancesPersisted [ $ key ] ; $ obj -> __construct ( $ data ) ; return $ obj ; } $ obj = parent :: initByData ( $ data ) ; $ this -> instancesPersisted [ $ key ] = $ obj ; return $ obj ; }
Entry point for objects where you've got the data array and you wish to instantiate
a object and add to the cache.

@param array $data
@return Bond\Entity
Entry point for objects where you ve got the data array and you wish to instantiate a object and add to the cache .