Hook
class Hook extends Hook
Constants
TABLE_MAP |
TableMap class name |
Methods
Returns whether the object has ever been saved. This will be false, if the object was retrieved from storage or was created and then saved.
Setter for the isNew attribute. This method will be called by Propel-generated children and objects.
Sets the modified state for the object to be false.
Compares this with another Hook
instance. If
obj
is an instance of Hook
, delegates to
equals(Hook)
. Otherwise, returns false
.
If the primary key is not null, return the hashcode of the primary key. Otherwise, return the hash code of the object.
Checks the existence of a virtual column in this object
Set the value of a virtual column in this object
Populate the current object from a string, using a given parser format
$book = new Book();
$book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
Export the current object properties to a string, using a given parser format
$book = BookQuery::create()->findPk(9012);
echo $book->exportTo('JSON');
=> {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
Clean up internal collections prior to serializing Avoids recursive loops that turn into segmentation faults when serializing
Get the [optionally formatted] temporal [created_at] column value.
Get the [optionally formatted] temporal [updated_at] column value.
Sets the value of [created_at] column to a normalized version of the date/time value specified.
Sets the value of [updated_at] column to a normalized version of the date/time value specified.
Indicates whether the columns in this object are only set to default values.
Hydrates (populates) the object variables with values from the database resultset.
Reloads this object from datastore based on primary key and (optionally) resets all associated objects.
Removes this object from datastore and sets delete attribute.
Retrieves a field from the object by name passed in as a string.
Retrieves a field from the object by Position as specified in the xml schema.
Exports the object as an array.
Sets a field from the object by name passed in as a string.
Sets a field from the object by Position as specified in the xml schema.
Populates the object using an array.
Build a Criteria object containing the values of all modified columns in this object.
Builds a Criteria object containing the primary key for this object.
Sets contents of passed object to values from current object.
Makes a copy of this object that will be inserted as a new row in table when saved.
Initializes a collection based on the name of a relation.
Reset is the collModuleHooks collection loaded partially.
Initializes the collModuleHooks collection.
Gets an array of ChildModuleHook objects which contain a foreign key that references this object.
Sets a collection of ModuleHook objects related by a one-to-many relationship to the current object.
Returns the number of related ModuleHook objects.
Method called to associate a ChildModuleHook object to this object through the ChildModuleHook foreign key attribute.
If this collection has already been initialized with an identical criteria, it returns the collection.
Reset is the collIgnoredModuleHooks collection loaded partially.
Initializes the collIgnoredModuleHooks collection.
Gets an array of ChildIgnoredModuleHook objects which contain a foreign key that references this object.
Sets a collection of IgnoredModuleHook objects related by a one-to-many relationship to the current object.
Returns the number of related IgnoredModuleHook objects.
Method called to associate a ChildIgnoredModuleHook object to this object through the ChildIgnoredModuleHook foreign key attribute.
If this collection has already been initialized with an identical criteria, it returns the collection.
Initializes the collHookI18ns collection.
Gets an array of ChildHookI18n objects which contain a foreign key that references this object.
Sets a collection of HookI18n objects related by a one-to-many relationship to the current object.
Returns the number of related HookI18n objects.
Method called to associate a ChildHookI18n object to this object through the ChildHookI18n foreign key attribute.
Gets a collection of ChildModule objects related by a many-to-many relationship to the current object by way of the ignoredmodulehook cross-reference table.
Sets a collection of Module objects related by a many-to-many relationship to the current object by way of the ignoredmodulehook cross-reference table.
Gets the number of ChildModule objects related by a many-to-many relationship to the current object by way of the ignoredmodulehook cross-reference table.
Associate a ChildModule object to this object through the ignoredmodulehook cross reference table.
Remove a ChildModule object to this object through the ignoredmodulehook cross reference table.
Resets all references to other model objects or collections of model objects.
Mark the current object so that the update date doesn't get updated during next save
Returns the current translation for a given locale
Remove the translation for a given locale
Returns the current translation
Code to be run before persisting the object
Code to be run before inserting to database
Code to be run before updating the object in database
Code to be run after updating the object in database
Code to be run before deleting the object in database
Code to be run after deleting the object in database
Details
in
Hook at line 198
__construct()
Initializes internal state of Thelia\Model\Base\Hook object.
in
Hook at line 207
boolean
isModified()
Returns whether the object has been modified.
in
Hook at line 218
boolean
isColumnModified(
string $col)
Has specified column been modified?
in
Hook at line 227
array
getModifiedColumns()
Get the columns that have been modified in this object.
in
Hook at line 239
boolean
isNew()
Returns whether the object has ever been saved. This will be false, if the object was retrieved from storage or was created and then saved.
in
Hook at line 250
setNew(
boolean $b)
Setter for the isNew attribute. This method will be called by Propel-generated children and objects.
in
Hook at line 259
boolean
isDeleted()
Whether this object has been deleted.
in
Hook at line 269
void
setDeleted(
boolean $b)
Specify whether this object has been deleted.
in
Hook at line 279
void
resetModified(
string $col = null)
Sets the modified state for the object to be false.
in
Hook at line 298
boolean
equals(
mixed $obj)
Compares this with another Hook
instance. If
obj
is an instance of Hook
, delegates to
equals(Hook)
. Otherwise, returns false
.
in
Hook at line 323
int
hashCode()
If the primary key is not null, return the hashcode of the primary key. Otherwise, return the hash code of the object.
in
Hook at line 337
array
getVirtualColumns()
Get the associative array of the virtual columns in this object
in
Hook at line 348
boolean
hasVirtualColumn(
string $name)
Checks the existence of a virtual column in this object
in
Hook at line 361
mixed
getVirtualColumn(
string $name)
Get the value of a virtual column in this object
in
Hook at line 378
Hook
setVirtualColumn(
string $name,
mixed $value)
Set the value of a virtual column in this object
in
Hook at line 410
Hook
importFrom(
mixed $parser,
string $data)
Populate the current object from a string, using a given parser format
$book = new Book();
$book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
in
Hook at line 433
string
exportTo(
mixed $parser,
boolean $includeLazyLoadColumns = true)
Export the current object properties to a string, using a given parser format
$book = BookQuery::create()->findPk(9012);
echo $book->exportTo('JSON');
=> {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
in
Hook at line 446
__sleep()
Clean up internal collections prior to serializing Avoids recursive loops that turn into segmentation faults when serializing
in
Hook at line 458
int
getId()
Get the [id] column value.
in
Hook at line 469
string
getCode()
Get the [code] column value.
in
Hook at line 480
int
getType()
Get the [type] column value.
in
Hook at line 491
boolean
getByModule()
Get the [by_module] column value.
in
Hook at line 502
boolean
getNative()
Get the [native] column value.
in
Hook at line 513
boolean
getActivate()
Get the [activate] column value.
in
Hook at line 524
boolean
getBlock()
Get the [block] column value.
in
Hook at line 535
int
getPosition()
Get the [position] column value.
in
Hook at line 552
mixed
getCreatedAt(
string $format = NULL)
Get the [optionally formatted] temporal [created_at] column value.
in
Hook at line 572
mixed
getUpdatedAt(
string $format = NULL)
Get the [optionally formatted] temporal [updated_at] column value.
in
Hook at line 654
Hook
setByModule(
boolean|integer|string $v)
Sets the value of the [by_module] column.
Non-boolean arguments are converted using the following rules: * 1, '1', 'true', 'on', and 'yes' are converted to boolean true * 0, '0', 'false', 'off', and 'no' are converted to boolean false Check on string values is case insensitive (so 'FaLsE' is seen as 'false').
in
Hook at line 683
Hook
setNative(
boolean|integer|string $v)
Sets the value of the [native] column.
Non-boolean arguments are converted using the following rules: * 1, '1', 'true', 'on', and 'yes' are converted to boolean true * 0, '0', 'false', 'off', and 'no' are converted to boolean false Check on string values is case insensitive (so 'FaLsE' is seen as 'false').
in
Hook at line 712
Hook
setActivate(
boolean|integer|string $v)
Sets the value of the [activate] column.
Non-boolean arguments are converted using the following rules: * 1, '1', 'true', 'on', and 'yes' are converted to boolean true * 0, '0', 'false', 'off', and 'no' are converted to boolean false Check on string values is case insensitive (so 'FaLsE' is seen as 'false').
in
Hook at line 741
Hook
setBlock(
boolean|integer|string $v)
Sets the value of the [block] column.
Non-boolean arguments are converted using the following rules: * 1, '1', 'true', 'on', and 'yes' are converted to boolean true * 0, '0', 'false', 'off', and 'no' are converted to boolean false Check on string values is case insensitive (so 'FaLsE' is seen as 'false').
in
Hook at line 788
Hook
setCreatedAt(
mixed $v)
Sets the value of [created_at] column to a normalized version of the date/time value specified.
in
Hook at line 809
Hook
setUpdatedAt(
mixed $v)
Sets the value of [updated_at] column to a normalized version of the date/time value specified.
in
Hook at line 831
boolean
hasOnlyDefaultValues()
Indicates whether the columns in this object are only set to default values.
This method can be used in conjunction with isModified() to indicate whether an object is both modified and has some values set which are non-default.
in
Hook at line 855
int
hydrate(
array $row,
int $startcol,
boolean $rehydrate = false,
string $indexType = TableMap::TYPE_NUM)
Hydrates (populates) the object variables with values from the database resultset.
An offset (0-based "start column") is specified so that objects can be hydrated with a subset of the columns in the resultset rows. This is needed, for example, for results of JOIN queries where the resultset row includes columns from two or more tables.
in
Hook at line 923
ensureConsistency()
Checks and repairs the internal consistency of the object.
This method is executed after an already-instantiated object is re-hydrated from the database. It exists to check any foreign keys to make sure that the objects related to the current object are correct based on foreign key.
You can override this method in the stub class, but you should always invoke the base method from the overridden method (i.e. parent::ensureConsistency()), in case your model changes.
in
Hook at line 937
void
reload(
boolean $deep = false,
ConnectionInterface $con = null)
Reloads this object from datastore based on primary key and (optionally) resets all associated objects.
This will only work if the object has been saved and has a valid primary key set.
in
Hook at line 983
void
delete(
ConnectionInterface $con = null)
Removes this object from datastore and sets delete attribute.
in
Hook at line 1025
int
save(
ConnectionInterface $con = null)
Persists this object to the database.
If the object is new, it inserts it; otherwise an update is performed. All modified related objects will also be persisted in the doSave() method. This method wraps all precipitate database operations in a single transaction.
in
Hook at line 1323
mixed
getByName(
string $name,
string $type = TableMap::TYPE_PHPNAME)
Retrieves a field from the object by name passed in as a string.
in
Hook at line 1338
mixed
getByPosition(
int $pos)
Retrieves a field from the object by Position as specified in the xml schema.
Zero-based.
in
Hook at line 1392
array
toArray(
string $keyType = TableMap::TYPE_PHPNAME,
boolean $includeLazyLoadColumns = true,
array $alreadyDumpedObjects = array(),
boolean $includeForeignObjects = false)
Exports the object as an array.
You can specify the key type of the array by passing one of the class type constants.
in
Hook at line 1442
void
setByName(
string $name,
mixed $value,
string $type = TableMap::TYPE_PHPNAME)
Sets a field from the object by name passed in as a string.
in
Hook at line 1457
void
setByPosition(
int $pos,
mixed $value)
Sets a field from the object by Position as specified in the xml schema.
Zero-based.
in
Hook at line 1510
void
fromArray(
array $arr,
string $keyType = TableMap::TYPE_PHPNAME)
Populates the object using an array.
This is particularly useful when populating an object from one of the request arrays (e.g. $_POST). This method goes through the column names, checking to see whether a matching key exists in populated array. If so the setByName() method is called for that column.
You can specify the key type of the array by additionally passing one of the class type constants TableMap::TYPEPHPNAME, TableMap::TYPESTUDLYPHPNAME, TableMap::TYPECOLNAME, TableMap::TYPEFIELDNAME, TableMap::TYPENUM. The default key type is the column's TableMap::TYPEPHPNAME.
in
Hook at line 1531
Criteria
buildCriteria()
Build a Criteria object containing the values of all modified columns in this object.
in
Hook at line 1557
Criteria
buildPkeyCriteria()
Builds a Criteria object containing the primary key for this object.
Unlike buildCriteria() this method includes the primary key values regardless of whether or not they have been modified.
in
Hook at line 1569
int
getPrimaryKey()
Returns the primary key for this object (row).
in
Hook at line 1580
void
setPrimaryKey(
int $key)
Generic method to set the primary key (id column).
in
Hook at line 1589
boolean
isPrimaryKeyNull()
Returns true if the primary key for this object is null.
in
Hook at line 1606
copyInto(
object $copyObj,
boolean $deepCopy = false,
boolean $makeNew = true)
Sets contents of passed object to values from current object.
If desired, this method can also make copies of all associated (fkey referrers) objects.
in
Hook at line 1661
Hook
copy(
boolean $deepCopy = false)
Makes a copy of this object that will be inserted as a new row in table when saved.
It creates a new object filling in the simple attributes, but skipping any primary keys that are defined for the table.
If desired, this method can also make copies of all associated (fkey referrers) objects.
in
Hook at line 1680
void
initRelation(
string $relationName)
Initializes a collection based on the name of a relation.
Avoids crafting an 'init[$relationName]s' method name that wouldn't work when StandardEnglishPluralizer is used.
in
Hook at line 1702
void
clearModuleHooks()
Clears out the collModuleHooks collection
This does not modify the database; however, it will remove any associated objects, causing them to be refetched by subsequent calls to accessor method.
in
Hook at line 1710
resetPartialModuleHooks($v = true)
Reset is the collModuleHooks collection loaded partially.
in
Hook at line 1727
void
initModuleHooks(
boolean $overrideExisting = true)
Initializes the collModuleHooks collection.
By default this just sets the collModuleHooks collection to an empty array (like clearcollModuleHooks()); however, you may wish to override this method in your stub class to provide setting appropriate to your application -- for example, setting the initial array to the values stored in database.
in
Hook at line 1750
Collection|ModuleHook[]
getModuleHooks(
Criteria $criteria = null,
ConnectionInterface $con = null)
Gets an array of ChildModuleHook objects which contain a foreign key that references this object.
If the $criteria is not null, it is used to always fetch the results from the database. Otherwise the results are fetched from the database the first time, then cached. Next time the same method is called without $criteria, the cached collection is returned. If this ChildHook is new, it will return an empty collection or the current collection; the criteria is ignored on a new object.
in
Hook at line 1806
Hook
setModuleHooks(
Collection $moduleHooks,
ConnectionInterface $con = null)
Sets a collection of ModuleHook objects related by a one-to-many relationship to the current object.
It will also schedule objects for deletion based on a diff between old objects (aka persisted) and new objects from the given Propel collection.
in
Hook at line 1837
int
countModuleHooks(
Criteria $criteria = null,
boolean $distinct = false,
ConnectionInterface $con = null)
Returns the number of related ModuleHook objects.
in
Hook at line 1869
Hook
addModuleHook(
ModuleHook $l)
Method called to associate a ChildModuleHook object to this object through the ChildModuleHook foreign key attribute.
in
Hook at line 1896
Hook
removeModuleHook(
ModuleHook $moduleHook)
in
Hook at line 1928
Collection|ModuleHook[]
getModuleHooksJoinModule(
Criteria $criteria = null,
ConnectionInterface $con = null,
string $joinBehavior = Criteria::LEFT_JOIN)
If this collection has already been initialized with an identical criteria, it returns the collection.
Otherwise if this Hook is new, it will return an empty collection; or if this Hook has previously been saved, it will retrieve related ModuleHooks from storage.
This method is protected by default in order to keep the public api reasonable. You can provide public methods for those you actually need in Hook.
in
Hook at line 1945
void
clearIgnoredModuleHooks()
Clears out the collIgnoredModuleHooks collection
This does not modify the database; however, it will remove any associated objects, causing them to be refetched by subsequent calls to accessor method.
in
Hook at line 1953
resetPartialIgnoredModuleHooks($v = true)
Reset is the collIgnoredModuleHooks collection loaded partially.
in
Hook at line 1970
void
initIgnoredModuleHooks(
boolean $overrideExisting = true)
Initializes the collIgnoredModuleHooks collection.
By default this just sets the collIgnoredModuleHooks collection to an empty array (like clearcollIgnoredModuleHooks()); however, you may wish to override this method in your stub class to provide setting appropriate to your application -- for example, setting the initial array to the values stored in database.
in
Hook at line 1993
Collection|IgnoredModuleHook[]
getIgnoredModuleHooks(
Criteria $criteria = null,
ConnectionInterface $con = null)
Gets an array of ChildIgnoredModuleHook objects which contain a foreign key that references this object.
If the $criteria is not null, it is used to always fetch the results from the database. Otherwise the results are fetched from the database the first time, then cached. Next time the same method is called without $criteria, the cached collection is returned. If this ChildHook is new, it will return an empty collection or the current collection; the criteria is ignored on a new object.
in
Hook at line 2049
Hook
setIgnoredModuleHooks(
Collection $ignoredModuleHooks,
ConnectionInterface $con = null)
Sets a collection of IgnoredModuleHook objects related by a one-to-many relationship to the current object.
It will also schedule objects for deletion based on a diff between old objects (aka persisted) and new objects from the given Propel collection.
in
Hook at line 2083
int
countIgnoredModuleHooks(
Criteria $criteria = null,
boolean $distinct = false,
ConnectionInterface $con = null)
Returns the number of related IgnoredModuleHook objects.
in
Hook at line 2115
Hook
addIgnoredModuleHook(
IgnoredModuleHook $l)
Method called to associate a ChildIgnoredModuleHook object to this object through the ChildIgnoredModuleHook foreign key attribute.
in
Hook at line 2142
Hook
removeIgnoredModuleHook(
IgnoredModuleHook $ignoredModuleHook)
in
Hook at line 2174
Collection|IgnoredModuleHook[]
getIgnoredModuleHooksJoinModule(
Criteria $criteria = null,
ConnectionInterface $con = null,
string $joinBehavior = Criteria::LEFT_JOIN)
If this collection has already been initialized with an identical criteria, it returns the collection.
Otherwise if this Hook is new, it will return an empty collection; or if this Hook has previously been saved, it will retrieve related IgnoredModuleHooks from storage.
This method is protected by default in order to keep the public api reasonable. You can provide public methods for those you actually need in Hook.
in
Hook at line 2191
void
clearHookI18ns()
Clears out the collHookI18ns collection
This does not modify the database; however, it will remove any associated objects, causing them to be refetched by subsequent calls to accessor method.
in
Hook at line 2199
resetPartialHookI18ns($v = true)
Reset is the collHookI18ns collection loaded partially.
in
Hook at line 2216
void
initHookI18ns(
boolean $overrideExisting = true)
Initializes the collHookI18ns collection.
By default this just sets the collHookI18ns collection to an empty array (like clearcollHookI18ns()); however, you may wish to override this method in your stub class to provide setting appropriate to your application -- for example, setting the initial array to the values stored in database.
in
Hook at line 2239
Collection|HookI18n[]
getHookI18ns(
Criteria $criteria = null,
ConnectionInterface $con = null)
Gets an array of ChildHookI18n objects which contain a foreign key that references this object.
If the $criteria is not null, it is used to always fetch the results from the database. Otherwise the results are fetched from the database the first time, then cached. Next time the same method is called without $criteria, the cached collection is returned. If this ChildHook is new, it will return an empty collection or the current collection; the criteria is ignored on a new object.
in
Hook at line 2295
Hook
setHookI18ns(
Collection $hookI18ns,
ConnectionInterface $con = null)
Sets a collection of HookI18n objects related by a one-to-many relationship to the current object.
It will also schedule objects for deletion based on a diff between old objects (aka persisted) and new objects from the given Propel collection.
in
Hook at line 2329
int
countHookI18ns(
Criteria $criteria = null,
boolean $distinct = false,
ConnectionInterface $con = null)
Returns the number of related HookI18n objects.
in
Hook at line 2361
Hook
addHookI18n(
HookI18n $l)
Method called to associate a ChildHookI18n object to this object through the ChildHookI18n foreign key attribute.
in
Hook at line 2416
void
clearModules()
Clears out the collModules collection
This does not modify the database; however, it will remove any associated objects, causing them to be refetched by subsequent calls to accessor method.
in
Hook at line 2431
void
initModules()
Initializes the collModules collection.
By default this just sets the collModules collection to an empty collection (like clearModules()); however, you may wish to override this method in your stub class to provide setting appropriate to your application -- for example, setting the initial array to the values stored in database.
in
Hook at line 2452
ObjectCollection|Module[]
getModules(
Criteria $criteria = null,
ConnectionInterface $con = null)
Gets a collection of ChildModule objects related by a many-to-many relationship to the current object by way of the ignoredmodulehook cross-reference table.
If the $criteria is not null, it is used to always fetch the results from the database. Otherwise the results are fetched from the database the first time, then cached. Next time the same method is called without $criteria, the cached collection is returned. If this ChildHook is new, it will return an empty collection or the current collection; the criteria is ignored on a new object.
in
Hook at line 2482
Hook
setModules(
Collection $modules,
ConnectionInterface $con = null)
Sets a collection of Module objects related by a many-to-many relationship to the current object by way of the ignoredmodulehook cross-reference table.
It will also schedule objects for deletion based on a diff between old objects (aka persisted) and new objects from the given Propel collection.
in
Hook at line 2510
int
countModules(
Criteria $criteria = null,
boolean $distinct = false,
ConnectionInterface $con = null)
Gets the number of ChildModule objects related by a many-to-many relationship to the current object by way of the ignoredmodulehook cross-reference table.
in
Hook at line 2537
Hook
addModule(
Module $module)
Associate a ChildModule object to this object through the ignoredmodulehook cross reference table.
in
Hook at line 2574
Hook
removeModule(
Module $module)
Remove a ChildModule object to this object through the ignoredmodulehook cross reference table.
in
Hook at line 2593
clear()
Clears the current object and sets all attributes to their default values
in
Hook at line 2621
clearAllReferences(
boolean $deep = false)
Resets all references to other model objects or collections of model objects.
This method is a user-space workaround for PHP's inability to garbage collect objects with circular references (even in PHP 5.3). This is currently necessary when using Propel in certain daemon or large-volume/high-memory operations.
in
Hook at line 2661
string
__toString()
Return the string representation of this object
in
Hook at line 2673
Hook
keepUpdateDateUnchanged()
Mark the current object so that the update date doesn't get updated during next save
in
Hook at line 2701
string
getLocale()
Gets the locale for translations
in
Hook at line 2713
HookI18n
getTranslation(
string $locale = 'en_US',
ConnectionInterface $con = null)
Returns the current translation for a given locale
in
Hook at line 2748
Hook
removeTranslation(
string $locale = 'en_US',
ConnectionInterface $con = null)
Remove the translation for a given locale
in
Hook at line 2774
HookI18n
getCurrentTranslation(
ConnectionInterface $con = null)
Returns the current translation
in
Hook at line 2785
string
getTitle()
Get the [title] column value.
in
Hook at line 2809
string
getDescription()
Get the [description] column value.
in
Hook at line 2833
string
getChapo()
Get the [chapo] column value.
in
Hook at line 2856
boolean
preSave(
ConnectionInterface $con = null)
Code to be run before persisting the object
in
Hook at line 2865
postSave(
ConnectionInterface $con = null)
Code to be run after persisting the object
in
Hook at line 2875
boolean
preInsert(
ConnectionInterface $con = null)
Code to be run before inserting to database
in
Hook at line 2884
postInsert(
ConnectionInterface $con = null)
Code to be run after inserting to database
in
Hook at line 2894
boolean
preUpdate(
ConnectionInterface $con = null)
Code to be run before updating the object in database
in
Hook at line 2903
postUpdate(
ConnectionInterface $con = null)
Code to be run after updating the object in database
in
Hook at line 2913
boolean
preDelete(
ConnectionInterface $con = null)
Code to be run before deleting the object in database
in
Hook at line 2922
postDelete(
ConnectionInterface $con = null)
Code to be run after deleting the object in database
in
Hook at line 2939
array|string
__call(
string $name,
mixed $params)
Derived method to catches calls to undefined methods.
Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). Allows to define default __call() behavior if you overwrite __call()