Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access private scoped namespace array data in php?

Here is the array data:

Coinbase\Wallet\Resource\ResourceCollection Object
(
    [previousUri:Coinbase\Wallet\Resource\ResourceCollection:private] => 
    [nextUri:Coinbase\Wallet\Resource\ResourceCollection:private] => /v2/accounts/REMOVED/transactions?starting_after=REMOVED
    [resources:Coinbase\Wallet\Resource\ResourceCollection:private] => Array
        (
            [0] => Coinbase\Wallet\Resource\Transaction Object
                (
                    [type:Coinbase\Wallet\Resource\Transaction:private] => send
                    [status:Coinbase\Wallet\Resource\Transaction:private] => completed
                    [amount:Coinbase\Wallet\Resource\Transaction:private] => Coinbase\Wallet\Value\Money Object
                        (
                            [amount:Coinbase\Wallet\Value\Money:private] => -0.00016600
                            [currency:Coinbase\Wallet\Value\Money:private] => BTC
                        )

                    [nativeAmount:Coinbase\Wallet\Resource\Transaction:private] => Coinbase\Wallet\Value\Money Object
                        (
                            [amount:Coinbase\Wallet\Value\Money:private] => -0.07
                            [currency:Coinbase\Wallet\Value\Money:private] => USD
                        )

                    [description:Coinbase\Wallet\Resource\Transaction:private] => Your first bitcoin!
                    [fee:Coinbase\Wallet\Resource\Transaction:private] => 
                    [instantExchange:Coinbase\Wallet\Resource\Transaction:private] => 
                    [createdAt:Coinbase\Wallet\Resource\Transaction:private] => DateTime Object
                        (
                            [date] => 2016-05-18 21:04:04.000000
                            [timezone_type] => 2
                            [timezone] => Z
                        )

                    [updatedAt:Coinbase\Wallet\Resource\Transaction:private] => DateTime Object
                        (
                            [date] => 2016-05-18 21:16:50.000000
                            [timezone_type] => 2
                            [timezone] => Z
                        )

                    [network:Coinbase\Wallet\Resource\Transaction:private] => Coinbase\Wallet\Value\Network Object
                        (
                            [status:Coinbase\Wallet\Value\Network:private] => confirmed
                            [hash:Coinbase\Wallet\Value\Network:private] => REMOVED
                        )

                    [to:Coinbase\Wallet\Resource\Transaction:private] => Coinbase\Wallet\Resource\BitcoinAddress Object
                        (
                            [address:Coinbase\Wallet\Resource\BitcoinAddress:private] => 1BJcYDCMHJ3FAqj8YKbcnNq5xxHcxViD5s
                            [id:Coinbase\Wallet\Resource\Resource:private] => 
                            [resource:Coinbase\Wallet\Resource\Resource:private] => bitcoin_address
                            [resourcePath:Coinbase\Wallet\Resource\Resource:private] => 
                            [rawData:Coinbase\Wallet\Resource\Resource:private] => 
                        )

                    [from:Coinbase\Wallet\Resource\Transaction:private] => 
                    [address:Coinbase\Wallet\Resource\Transaction:private] => 
                    [application:Coinbase\Wallet\Resource\Transaction:private] => 
                    [buy:Coinbase\Wallet\Resource\Transaction:private] => 
                    [sell:Coinbase\Wallet\Resource\Transaction:private] => 
                    [id:Coinbase\Wallet\Resource\Resource:private] => REMOVED
                    [resource:Coinbase\Wallet\Resource\Resource:private] => transaction
                    [resourcePath:Coinbase\Wallet\Resource\Resource:private] => /v2/accounts/REMOVED/transactions/REMOVED
                    [rawData:Coinbase\Wallet\Resource\Resource:private] => Array
                        (
                            [id] => REMOVED
                            [type] => send
                            [status] => completed
                            [amount] => Array
                                (
                                    [amount] => -0.00016600
                                    [currency] => BTC
                                )

                            [native_amount] => Array
                                (
                                    [amount] => -0.07
                                    [currency] => USD
                                )

                            [description] => Your first bitcoin!
                            [created_at] => 2016-05-18T21:04:04Z
                            [updated_at] => 2016-05-18T21:16:50Z
                            [resource] => transaction
                            [resource_path] => /v2/accounts/REMOVED/transactions/REMOVED
                            [instant_exchange] => 
                            [network] => Array
                                (
                                    [status] => confirmed
                                    [hash] => REMOVED
                                )

                            [to] => Array
                                (
                                    [resource] => bitcoin_address
                                    [address] => 1BJcYDCMHJ3FAqj8YKbcnNq5xxHcxViD5s
                                )

                            [details] => Array
                                (
                                    [title] => Sent bitcoin
                                    [subtitle] => to Bitcoin address
                                )

                        )

                )

            [1] => Coinbase\Wallet\Resource\Transaction Object
                (
                    [type:Coinbase\Wallet\Resource\Transaction:private] => send
                    [status:Coinbase\Wallet\Resource\Transaction:private] => completed
                    [amount:Coinbase\Wallet\Resource\Transaction:private] => Coinbase\Wallet\Value\Money Object
                        (
                            [amount:Coinbase\Wallet\Value\Money:private] => -0.00016600
                            [currency:Coinbase\Wallet\Value\Money:private] => BTC
                        )

                    [nativeAmount:Coinbase\Wallet\Resource\Transaction:private] => Coinbase\Wallet\Value\Money Object
                        (
                            [amount:Coinbase\Wallet\Value\Money:private] => -0.07
                            [currency:Coinbase\Wallet\Value\Money:private] => USD
                        )

                    [description:Coinbase\Wallet\Resource\Transaction:private] => Your first bitcoin!
                    [fee:Coinbase\Wallet\Resource\Transaction:private] => 
                    [instantExchange:Coinbase\Wallet\Resource\Transaction:private] => 
                    [createdAt:Coinbase\Wallet\Resource\Transaction:private] => DateTime Object
                        (
                            [date] => 2016-05-18 20:41:29.000000
                            [timezone_type] => 2
                            [timezone] => Z
                        )

                    [updatedAt:Coinbase\Wallet\Resource\Transaction:private] => DateTime Object
                        (
                            [date] => 2016-05-18 20:45:51.000000
                            [timezone_type] => 2
                            [timezone] => Z
                        )

                    [network:Coinbase\Wallet\Resource\Transaction:private] => Coinbase\Wallet\Value\Network Object
                        (
                            [status:Coinbase\Wallet\Value\Network:private] => confirmed
                            [hash:Coinbase\Wallet\Value\Network:private] => REMOVED
                        )

                    [to:Coinbase\Wallet\Resource\Transaction:private] => Coinbase\Wallet\Resource\BitcoinAddress Object
                        (
                            [address:Coinbase\Wallet\Resource\BitcoinAddress:private] => 1BJcYDCMHJ3FAqj8YKbcnNq5xxHcxViD5s
                            [id:Coinbase\Wallet\Resource\Resource:private] => 
                            [resource:Coinbase\Wallet\Resource\Resource:private] => bitcoin_address
                            [resourcePath:Coinbase\Wallet\Resource\Resource:private] => 
                            [rawData:Coinbase\Wallet\Resource\Resource:private] => 
                        )

                    [from:Coinbase\Wallet\Resource\Transaction:private] => 
                    [address:Coinbase\Wallet\Resource\Transaction:private] => 
                    [application:Coinbase\Wallet\Resource\Transaction:private] => 
                    [buy:Coinbase\Wallet\Resource\Transaction:private] => 
                    [sell:Coinbase\Wallet\Resource\Transaction:private] => 
                    [id:Coinbase\Wallet\Resource\Resource:private] => REMOVED
                    [resource:Coinbase\Wallet\Resource\Resource:private] => transaction
                    [resourcePath:Coinbase\Wallet\Resource\Resource:private] => /v2/accounts/REMOVED/transactions/REMOVED
                    [rawData:Coinbase\Wallet\Resource\Resource:private] => Array
                        (
                            [id] => REMOVED
                            [type] => send
                            [status] => completed
                            [amount] => Array
                                (
                                    [amount] => -0.00016600
                                    [currency] => BTC
                                )

                            [native_amount] => Array
                                (
                                    [amount] => -0.07
                                    [currency] => USD
                                )

                            [description] => Your first bitcoin!
                            [created_at] => 2016-05-18T20:41:29Z
                            [updated_at] => 2016-05-18T20:45:51Z
                            [resource] => transaction
                            [resource_path] => /v2/accounts/REMOVED/transactions/REMOVED
                            [instant_exchange] => 
                            [network] => Array
                                (
                                    [status] => confirmed
                                    [hash] => REMOVED
                                )

                            [to] => Array
                                (
                                    [resource] => bitcoin_address
                                    [address] => 1BJcYDCMHJ3FAqj8YKbcnNq5xxHcxViD5s
                                )

                            [details] => Array
                                (
                                    [title] => Sent bitcoin
                                    [subtitle] => to Bitcoin address
                                )

                        )

                )

I am trying to figure out how to access a few of these variables.

For instance, how can I make this happen:

$bitcoin_address = [address:Coinbase\Wallet\Resource\Address:private];
$type = [type:Coinbase\Wallet\Resource\Transaction:private];

I know you can't access private scopes, but is there any way around this? Can I scrape the data if there isn't a better way?

Thanks.

like image 317
Lukeity Avatar asked Oct 15 '25 07:10

Lukeity


2 Answers

Yeah, the best way to access to your data is using decodeLastResponse Function.

Its allow to pull out all the data you need in those arrays.

 $address = $client->getAccountAddress($account, $addressId);   
 $transactions = $client->getAddressTransactions($address);
 $transactions = $client->decodeLastResponse();
 echo var_dump($transactions['data']);
like image 137
Kenneth Zambrano Avatar answered Oct 17 '25 01:10

Kenneth Zambrano


Almost all this private properties has public getters (public methods that allow you to access the private properties).

$bitcoinAddresses = [];
$types = [];

foreach ($resourceCollection->all() as $transaction) {
    $bitcoinAddresses[] = $transaction->getTo()->getAddress();
    $types[] = $transaction->getType();
}

If you visit coinbase/coinbase-php repo, you can see the source code there. There are all the classes you described with all the attributes and methods.

like image 25
sevavietl Avatar answered Oct 17 '25 02:10

sevavietl