Get available methods for an object
There are no better shortcuts than a very good study but there’s a tip which can help you to get a bit of speed.
Have you ever tried to figure out what available methods you can use from a customer model in Magento?
Imagine you load the customer into a variable (or the product, order)
# load the customer $customer = Mage::getModel('customer/customer')->load($params['id']);
but you’re not sure what methods/functions you can access, and here it comes the beauty:
# This will output an array with functions # $customer variable should be The class name or an # object instance (in our case - object instance) print_r( get_class_methods($customer) );
What exactly this function does (got from php.net):
Returns an array of method names defined for the class specified by
class_name
. In case of an error, it returnsNULL
.
And the output of the previous command would be something similar to this:
Array ( [0] => _construct [1] => getSharingConfig [2] => authenticate [3] => loadByEmail [4] => changePassword [5] => getName [6] => addAddress [7] => getAddressById [8] => getAddressItemById [9] => getAddressCollection [10] => getAddressesCollection [11] => getAddresses [12] => getAttributes [13] => getAttribute [14] => setPassword [15] => hashPassword [16] => generatePassword [17] => validatePassword [18] => encryptPassword [19] => decryptPassword [20] => getPrimaryAddress [21] => getPrimaryBillingAddress [22] => getDefaultBillingAddress [23] => getPrimaryShippingAddress [24] => getDefaultShippingAddress [25] => getPrimaryAddressIds [26] => getPrimaryAddresses [27] => getAdditionalAddresses [28] => isAddressPrimary [29] => sendNewAccountEmail [30] => isConfirmationRequired [31] => getRandomConfirmationKey [32] => sendPasswordReminderEmail [33] => sendChangedPasswordOrEmail [34] => sendPasswordResetConfirmationEmail [35] => getGroupId [36] => getTaxClassId [37] => isInStore [38] => getStore [39] => getSharedStoreIds [40] => getSharedWebsiteIds [41] => setStore [42] => validate [43] => validateResetPassword [44] => importFromTextArray [45] => unsetSubscription [46] => cleanAllAddresses [47] => addError [48] => getErrors [49] => resetErrors [50] => printError [51] => validateAddress [52] => getCreatedAtTimestamp [53] => reset [54] => isDeleteable [55] => setIsDeleteable [56] => isReadonly [57] => setIsReadonly [58] => canSkipConfirmation [59] => __clone [60] => getEntityType [61] => getEntityTypeId [62] => changeResetPasswordLinkToken [63] => isResetPasswordLinkTokenExpired [64] => cleanPasswordsValidationData [65] => getIdFieldName [66] => getId [67] => setId [68] => getResourceName [69] => getResourceCollection [70] => getCollection [71] => load [72] => afterLoad [73] => save [74] => afterCommitCallback [75] => isObjectNew [76] => getCacheTags [77] => getCacheIdTags [78] => cleanModelCache [79] => delete [80] => getResource [81] => getEntityId [82] => clearInstance [83] => __construct [84] => isDeleted [85] => hasDataChanges [86] => setIdFieldName [87] => addData [88] => setData [89] => unsetData [90] => unsetOldData [91] => getData [92] => setDataUsingMethod [93] => getDataUsingMethod [94] => getDataSetDefault [95] => hasData [96] => __toArray [97] => toArray [98] => toXml [99] => toJson [100] => toString [101] => __call [102] => __get [103] => __set [104] => isEmpty [105] => serialize [106] => getOrigData [107] => setOrigData [108] => dataHasChangedFor [109] => setDataChanges [110] => debug [111] => offsetSet [112] => offsetExists [113] => offsetUnset [114] => offsetGet [115] => isDirty [116] => flagDirty )
As you can see as a result you get an array of method names defined for the class specified by class_name. In case of an error, it returns NULL.
But it should be noted that the returned methods are dependant on the current scope.