У меня есть вызываемый класс с именем ClientPolicy, который выглядит так
class ClientPolicy {
var $serverHost="www.example.com";
var $httpPort = 80;
var $httpsPort = 443;
var $appKey;
var $secKey;
var $defaultContentCharset = "UTF-8";
}
и имя другого файла класса SyncAPIClient, которое выглядит следующим образом
class SyncAPIClient{
function SyncAPIClient(ClientPolicy $clientPolicy) {
$this->clientPolicy = $clientPolicy;
}
function SyncAPIClient($appKey, $appSecret) {
$this->clientPolicy = new ClientPolicy();
$this->clientPolicy->appKey=$appKey;
$this->clientPolicy->secKey=$appSecret;
}
}
Мои вопросы
1.) Если вы проверите функцию в SyncAPIClient, вы заметите, что класс ClientPolicy был передан в качестве параметра перед переменной, что это действительно означает? В чем суть передачи класса в параметре функции?
2.) Я получаю сообщение об ошибке «Невозможно повторно объявить SyncAPIClient :: SyncAPIClient ()» в моем журнале сценариев, и причина в том, что функция SyncAPIClient была вызвана дважды в классе SyncAPIClient. Как я могу решить эту проблему? Есть ли лучший способ написать эту функцию SyncAPIClient вместо того, чтобы передавать ее дважды?
Автор этого сценария нигде не найден, и мне осталось его исправить.