[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобратся с классами
savelikan
Привет всем, только начинаю работать с классами.... и вот...
часть скрипта:
CLASS template{
var $address = '';
............

public function address ($text){
$this->address .= $text;
return true;
}
..........
public function showcontent(){
RETURN $this->address;
}
}


$TPL = new template();
$TPL->address = 'текст 1';
$TPL->address = 'текст 2';
$TPL->address = 'текст 3';

и в результате если вывести $address - то он сохранет только последнее значение, тоесть 'текст 3'....
echo $TST->showcontent();

А как сделать так, чтобы он добавлял все "тексты" в одну строку?

_____________
Одесса - мой город!)))
casper - gg
Для начала нужно различать свойство и метод в классе и способы обращения к методам и свойствам:

CLASS template{
var $address = ''; // так не пишут
public $address = ''; // вот так нужно, это называется свойством
............
public function address ($text){ // это уже метод
$this->address .= $text;
return true; // в данном исполнении эта строка не нужна
}
..........
public function showcontent(){
RETURN $this->address;
}
}



$TPL = new template();
$TPL->address = 'текст 1';
$TPL->address = 'текст 2';
$TPL->address = 'текст 3'; // такими вот строками просто переустанавливается свойство
// а нужно метод вызывать, вот так:

$TPL->address ('текст 1');
$TPL->address ('текст 2');
$TPL->address ('текст 3');

работать рановато, нужно по-изучать
inpost
Вообще-то надо изучить работу с переменными и массивами. Классы изучать ещё РАНО!
$text = 1;
$text = 2;
$text = 3;
echo $text; // выведет сколько? Правильно, 3!

Хочешь всё, пиши .= , простой синтаксис ДОПИСАТЬ В ПЕРЕМЕННУЮ. Моё мнение что тебе надо бы ещё немного подтянуть для начала работу с переменными, ведь свойства - это те же переменные внутри класса, а методы - те же функции.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
savelikan
Цитата (inpost @ 18.03.2016 - 15:24)
Вообще-то надо изучить работу с переменными и массивами. Классы изучать ещё РАНО!
$text = 1;
$text = 2;
$text = 3;
echo $text; // выведет сколько? Правильно, 3!

Хочешь всё, пиши .= , простой синтаксис ДОПИСАТЬ В ПЕРЕМЕННУЮ. Моё мнение что тебе надо бы ещё немного подтянуть для начала работу с переменными, ведь свойства - это те же переменные внутри класса, а методы - те же функции.

спасибо))
стараюсь учить)

_____________
Одесса - мой город!)))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.