привет ребята, возник один тупняк насчет переменных в ооп
вот к примеру у меня есть класс
class text{
public $t = 'default text';
public function show(){
echo $this->t;
}
}
я его вывожу
$ttt = new text;
$ttt->t = 'cerf';
$ttt->show();
при тестировании мне выводит cerf
а если я так вывожу
$ttt = new text;
$ttt->show();
$ttt->t = 'cerf';
то мне выводит default text, не подскажите как сделать что бы выводило cerf если я работаю с классом как во втором варианте. То есть что бы переменная не имела значения где она прописана до функции или после функции
В параметрах метода вводишь текст по умолчанию.
public function show ($text='default_text'){
echo $text;
}
теперь при использовании метода:
$className->show()
мы получим:
default_text
а при использовании:
$className->show('custom_text')
получим:
custom_text
вроде то, что ты хотел узнать
VarrkaN, это понятно, а мне как бы не так надо вот функция show у меня выводится один раз в вверху страницы и мне надо указывать парамерт этой функции через переменную которая может быть например по средине кода вписана, типо как вывод сообьщения об ошибке или еще что то подобное
не совсем понял, что имеется в виду под "Хочу вывести наверху, а параметр ввести в середине". Если интересует именно то, как я это описал, советую почитать про шаблонизаторы и про паттерны разработки. В ином случае старайся делать СНАЧАЛА ЛОГИКУ, а уже ПОТОМ ОТОБРАЖЕНИЕ
Так не получится, нужно сначало объявить переменную, а потом её вывести. Как вариант - пост выше. Сразу логика, а потом вывод представления
Это уже на JS нужно делать, поддержу пост выше
<?php
class text
{
protected $text;
public function __construct()
{
$this->text = $text;
}
static public function show()
{
return $this->text;
}
}
?>
$ttt = new text($text);
echo $ttt->show();
Вообще использование echo это первый признак говнокода.