Elgg  Version 2.2
 All Classes Namespaces Files Functions Variables Pages
Public Member Functions | List of all members
Elgg\Database\SubtypeTable Class Reference

Public Member Functions

 __construct (Database $db)
 Constructor. More...
 
 setCachedValues (array $values)
 Set the cached values from the boot data. More...
 
 getId ($type, $subtype)
 Return the id for a given subtype. More...
 
 getSubtype ($subtype_id)
 Gets the denormalized string for a given subtype ID. More...
 
 retrieveFromCache ($type, $subtype)
 Retrieve subtype from the cache. More...
 
 populateCache ()
 Fetch all suptypes from DB to local cache. More...
 
 getClass ($type, $subtype)
 Return the class name for a registered type and subtype. More...
 
 getClassFromId ($subtype_id)
 Returns the class name for a subtype id. More...
 
 add ($type, $subtype, $class="")
 Register with a certain type and subtype to be loaded as a specific class. More...
 
 remove ($type, $subtype)
 Removes a registered type, subtype, and classname. More...
 
 update ($type, $subtype, $class= '')
 Update a registered type, subtype, and class name. More...
 

Detailed Description

Definition at line 15 of file SubtypeTable.php.

Constructor & Destructor Documentation

Elgg\Database\SubtypeTable::__construct ( Database  $db)

Constructor.

Parameters
Database$dbElgg database

Definition at line 32 of file SubtypeTable.php.

Member Function Documentation

Elgg\Database\SubtypeTable::add (   $type,
  $subtype,
  $class = "" 
)

Register with a certain type and subtype to be loaded as a specific class.

By default entities are loaded as one of the 4 parent objects: site, user, object, or group. If you subclass any of these you can register the classname with add_subtype() so it will be loaded as that class automatically when retrieved from the database with get_entity().

Warning
This function cannot be used to change the class for a type-subtype pair. Use update_subtype() for that.
Parameters
string$typeThe type you're subtyping (site, user, object, or group)
string$subtypeThe subtype
string$classOptional class name for the object
Returns
int
See Also
update_subtype()
remove_subtype()
get_entity()

Definition at line 222 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::getClass (   $type,
  $subtype 
)

Return the class name for a registered type and subtype.

Entities can be registered to always be loaded as a certain class with add_subtype() or update_subtype(). This function returns the class name if found and null if not.

Parameters
string$typeThe type
string$subtypeThe subtype
Returns
string|null a class name or null
See Also
get_subtype_from_id()
get_subtype_class_from_id() private

Definition at line 162 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::getClassFromId (   $subtype_id)

Returns the class name for a subtype id.

Parameters
int$subtype_idThe subtype id
Returns
string|null
See Also
get_subtype_class()
get_subtype_from_id() private

Definition at line 186 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::getId (   $type,
  $subtype 
)

Return the id for a given subtype.

objects have a type and a subtype. Subtypes are defined upon creation and cannot be changed.

Plugin authors generally don't need to use this function unless writing their own SQL queries. Use ElggEntity::getSubtype()toreturnthestringsubtype.

Definition at line 66 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::getSubtype (   $subtype_id)

Gets the denormalized string for a given subtype ID.

Parameters
int$subtype_idSubtype ID from database
Returns
string|false Subtype name, false if subtype not found
See Also
get_subtype_id() private

Definition at line 92 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::populateCache ( )

Fetch all suptypes from DB to local cache.

private

Definition at line 135 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::remove (   $type,
  $subtype 
)

Removes a registered type, subtype, and classname.

Warning
You do not want to use this function. If you want to unregister a class for a subtype, use update_subtype(). Using this function will permanently orphan all the objects created with the specified subtype.
Parameters
string$typeType
string$subtypeSubtype
Returns
bool
See Also
add_subtype()
update_subtype()

Definition at line 272 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::retrieveFromCache (   $type,
  $subtype 
)

Retrieve subtype from the cache.

Parameters
string$type
string$subtype
Returns
|null

private

Definition at line 117 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::setCachedValues ( array  $values)

Set the cached values from the boot data.

Parameters
array$valuesValues from boot data
Returns
void

Definition at line 42 of file SubtypeTable.php.

Elgg\Database\SubtypeTable::update (   $type,
  $subtype,
  $class = '' 
)

Update a registered type, subtype, and class name.

Parameters
string$typeType
string$subtypeSubtype
string$classClass name to use when loading this entity
Returns
bool

Definition at line 301 of file SubtypeTable.php.


The documentation for this class was generated from the following file: