How to get protected property of object in Magento (PHP)
2016-04-25T06:52:32+00:00 ALERT (1): Mage_Sales_Model_Order Object
(
[_eventPrefix:protected] => sales_order
[_eventObject:protected] => order
[_addresses:protected] =>
[_items:protected] =>
[_payments:protected] =>
[_statusHistory:protected] =>
[_invoices:protected] =>
[_tracks:protected] =>
[_shipments:protected] =>
[_creditmemos:protected] =>
[_relatedObjects:protected] => Array
(
)
[_orderCurrency:protected] =>
[_baseCurrency:protected] =>
[_actionFlag:protected] => Array
(
)
[_canSendNewEmailFlag:protected] => 1
[_historyEntityName:protected] => order
[_resourceName:protected] => sales/order
[_resource:protected] =>
[_resourceCollectionName:protected] => sales/order_collection
[_cacheTag:protected] =>
[_dataSaveAllowed:protected] => 1
[_isObjectNew:protected] =>
[_data:protected] => Array
(
[entity_id] => 2052
[state] => canceled
....
....
....
....
)
To get the _historyEntityName
function accessProtected11($obj, $prop) {
$reflection = new ReflectionClass($obj);
if( $reflection->hasProperty($prop)){
$property = $reflection->getProperty($prop);
$property->setAccessible(true);
return $property->getValue($obj);
}
return '';
}
Mage::log(accessProtected($obj, _historyEntityName),true,'ordermail.log');
(
[_eventPrefix:protected] => sales_order
[_eventObject:protected] => order
[_addresses:protected] =>
[_items:protected] =>
[_payments:protected] =>
[_statusHistory:protected] =>
[_invoices:protected] =>
[_tracks:protected] =>
[_shipments:protected] =>
[_creditmemos:protected] =>
[_relatedObjects:protected] => Array
(
)
[_orderCurrency:protected] =>
[_baseCurrency:protected] =>
[_actionFlag:protected] => Array
(
)
[_canSendNewEmailFlag:protected] => 1
[_historyEntityName:protected] => order
[_resourceName:protected] => sales/order
[_resource:protected] =>
[_resourceCollectionName:protected] => sales/order_collection
[_cacheTag:protected] =>
[_dataSaveAllowed:protected] => 1
[_isObjectNew:protected] =>
[_data:protected] => Array
(
[entity_id] => 2052
[state] => canceled
....
....
....
....
)
To get the _historyEntityName
function accessProtected11($obj, $prop) {
$reflection = new ReflectionClass($obj);
if( $reflection->hasProperty($prop)){
$property = $reflection->getProperty($prop);
$property->setAccessible(true);
return $property->getValue($obj);
}
return '';
}
Mage::log(accessProtected($obj, _historyEntityName),true,'ordermail.log');
Comments
Post a Comment