я не буду приводить полный класс, а только кусок, синтаксических ошибок нету. Код (Text): class ControllerModuleQuickcheckout extends Controller { public $cyp_price = 0; public function getPrice() { return $this->cyp_price; } public function setPrice($price) { if(is_numeric($price)) { $this->cyp_price = (float)$price; } } public function refresh_step4() { $this->setPrice(5); // устанавливаю значение все ок оно устанавливается } private function test() { $test = $this->getPrice(); // почему результат 0???????????????? } что не так? по сути мне нужна переменная к которой я бы мог обратиться из любого метода данного класса, пробовал уже использовать и global $var, и $GLOBALS['var'] что-то не выходит все-равно другие методы не видят значение переменной, need help
да легко например так Код (Text): public function refresh_step4() { $this->setPrice(5); // устанавливаю значение все ок оно устанавливается $output = print_r($this->getPrice(), true); file_put_contents('file.txt', $output); } в файл приходит моя 5. а тут Код (Text): private function test() { $test = $this->getPrice(); // результат 0 } Добавлено спустя 2 минуты 6 секунд: он слишком огромный, этот код рабочий, без ошибок синтаксических, мне надо просто переменную получить в private методе вот и все... это возможно? если это вызывается в рамках одного расширенного класса?
private function test() { $test = $this->getPrice(); // результат 0 } Где ты делаешь вызов test(); он же приват!!!!!!! лично я не вижу гду ты вызываешь
В приведенном коде нет вызова приватного метода, можно предположить что его вызывают извне. Объяснить в чем тут косяк?
Интересно, откуда там 0, если в функции вообще нет никакого return? Создал переменную, присвоил ей какое-то значение, выкинул переменную на помойку.