How to access the item array from the following object array
Cart66Cart Object
(
[_items:Cart66Cart:private] => Array
(
[2] => Cart66CartItem Object
(
[_productId:Cart66CartItem:private] => 327
[_quantity:Cart66CartItem:private] => 3
[_optionInfo:Cart66CartItem:private] =>
[_priceDifference:Cart66CartItem:private] => 0
[_customFieldInfo:Cart66CartItem:private] =>
[_productUrl:Cart66CartItem:private] => http://localhost/odesk/cart66/fran-wilson-aloe-lip-care/
[_formEntryIds:Cart66CartItem:private] => Array
(
)
)
[3] => Cart66CartItem Object
(
[_productId:Cart66CartItem:private] => 368
[_quantity:Cart66CartItem:private] => 2
[_optionInfo:Cart66CartItem:private] =>
[_priceDifference:Cart66CartItem:private] => 0
[_customFieldInfo:Cart66CartItem:private] =>
[_productUrl:Cart66CartItem:private] => http://localhost/odesk/cart66/beauty-strokes-basic-shadow-brush/
[_formEntryIds:Cart66CartItem:private] => Array
(
)
)
)
[_promotion:Cart66Cart:private] =>
[_promoStatus:Cart66Cart:private] => 0
[_shippingMethodId:Cart66Cart:private] => 13
[_liveRates:Cart66Cart:private] => Cart66LiveRates Object
(
[toZip] =>
[weight] =>
[rates] => Array
(
)
[_toCountryCode:protected] =>
)
)
Something like this maybe:
But if _items is private you will need a public getter or mess with the Reflection classes. You can set the the private property to be accessible through ReflectionProperty Try this:
If you must access a private/protected class property you can simply use the magic
__get
method. Reflection would be way overboard in this case. Whether or not it makes good design sense to use the magic methods in this case depends on your situation, though.UPDATE
After re-reading it seems you simply want your object to behave like an array. To do this you'll need to implement
ArrayAccess
and point the relevant methods to the private$_items
property.And finally, PHP comes with a built-in
ArrayObject
class that will make an object behave very much like an array. You could always use that and point the relevent methods at a private$_items
property.Try the following: