Я пытаюсь вызвать метод getDetails()
из другого класса, который, в свою очередь, вызывает методы из своего собственного класса (т. Е. Вызываемого класса) и делает это с помощью
$this->getAccount()
и $this->getAddress()
и в вызываемом классе у нас есть методы, такие как $this->getAccount()
и $this->getAddress()
, но когда я вызываю
их я получаю фатальное сообщение об ошибке как вызов неопределенного метода, но когда я пытаюсь вызвать этот метод, используя CalledClassName::getAddress()
и
CalledClassName::getAddress()
чем работает нормально.
Мой вопрос заключается в том, что вызывающий класс (то есть вызываемый класс) всегда будет использовать $this->getAddress()
и $this->getAccount()
, так как я получаю этот класс
информация от другой команды, и есть 3 команды, которые будут вызывать функции getDetails()
, которые будут внутренне вызывать getAccount()
и getAddress()
функции, и как мне решить проблему $ this на myside при вызове функции getDetails()
.
Пример кода
Calling Class:
CalledClass::getDetails() // Call to getDetails function in CalledClass
CalledClass::
public function postalAddress()
{
return array(
'addressId' => $address->addressId,
'city' => $address->city,
'country' => $address->country,
'postcode' => $address->postcode,
'stateOrProvince' => $address->stateOrProvince,
'street' => $address->streetName,
'streetNumber' => $address->streetNrFirst,
'streetSuffix' => $address->streetNrFirstSuffix
);
};
public function getAddress()
{
return $this->postalAddress();
}
public function setAccount($account)
{
$this->account = $account;
}
public function getAccount()
{
return $this->find('account = 1311143','');
}
public function getDetails()
{
$data = array();
$data[$address] = $this->getAddress();
$data[$account] = $this->getAccount();
return $data;
}
Так что теперь, используя вышеуказанный метод, он дает мне ошибку, и поэтому, если я использую CalledClass::getAddress()
и CalledClass::getAccount()
, и он работает нормально, но я не могу изменить код в вызываемом классе, так как вызываю эту функцию из другой команды.
Любые рекомендации или предложения?