<?php
class One
{
public function create()
{
$name="John";
}
public function change()
{
$result=$name." Oggy";
echo $result;
}
}
$obj=new One();
$obj->change();
?>
Спустя 2 минуты, 51 секунда (5.10.2012 - 20:39) Winston написал(а):
$this->name;
Спустя 7 минут, 35 секунд (5.10.2012 - 20:46) Oggy написал(а):
Цитата (Winston @ 5.10.2012 - 17:39) |
$this->name; |
Notice: Undefined property: One::$name in .../index.php on line 10
Oggy
Спустя 13 минут, 11 секунд (5.10.2012 - 21:00) Winston написал(а):
class One
{
public $name;
public function create()
{
$this->name="John";
}
public function change()
{
$result=$this->name." Oggy";
echo $result;
}
}
$obj=new One();
$obj->change();
Спустя 3 минуты, 14 секунд (5.10.2012 - 21:03) -=CASPER=- написал(а):
class One {
private $name;
public function __construct() {
$this->create();
}
private function create() {
$this->name = "John";
}
public function change() {
echo $this->name." Oggy";
}
}
$obj=new One();
$obj->change();
Спустя 1 минута, 43 секунды (5.10.2012 - 21:04) Oggy написал(а):
Цитата (Winston @ 5.10.2012 - 18:00) |
class One |
виводится только Oggy
Спустя 2 минуты, 22 секунды (5.10.2012 - 21:07) -=CASPER=- написал(а):
Цитата (Oggy @ 5.10.2012 - 18:04) |
виводится только Oggy |
Потому что небыл вызван метод create();
Смотри мой пример.
Спустя 1 минута, 5 секунд (5.10.2012 - 21:08) Oggy написал(а):
Цитата (-=CASPER=- @ 5.10.2012 - 18:07) | ||
Потому что небыл вызван метод create(); Смотри мой пример. |
так ?
$obj=new One();
$obj->create();
$obj->change();
Спустя 3 минуты, 39 секунд (5.10.2012 - 21:12) -=CASPER=- написал(а):
Oggy, если будешь использовать пример Winston'а то да.
Если мой то достаточно просто:
Если мой то достаточно просто:
$obj=new One();
$obj->change();
Спустя 9 секунд (5.10.2012 - 21:12) Oggy написал(а):
а можно ето все зделать через параметри в функциях?
Спустя 2 минуты, 15 секунд (5.10.2012 - 21:14) Oggy написал(а):
Цитата (-=CASPER=- @ 5.10.2012 - 18:12) |
Oggy, если будешь использовать пример Winston'а то да. Если мой то достаточно просто: $obj=new One(); |
Спасибо
Спустя 4 минуты, 34 секунды (5.10.2012 - 21:19) -=CASPER=- написал(а):
Oggy, но это какой-то стрёмный пример. Этот будет лучше:
Результат будет:
class One {
private $name = 'John';
public function setName($value) {
$this->name = $value;
return $this;
}
public function chande() {
echo 'Your name: '.$this->name.'<br>';
}
}
$one = new One();
$one->chande();
$one->setName('Lili')->chande();
$one->setName('Alex')->chande();
Результат будет:
Your name: John
Your name: Lili
Your name: Alex
Спустя 14 минут, 59 секунд (5.10.2012 - 21:34) Oggy написал(а):
Цитата (-=CASPER=- @ 5.10.2012 - 18:19) |
Oggy, но это какой-то стрёмный пример. Этот будет лучше:class One { Результат будет: Your name: John |
как добраться до переменной name таким методом?
<?php
class One
{
public function create($name)
{
$name="John";
return $name;
}
public function change()
{
$result=$this->create($name)." Oggy";
}
}
$obj=new One();
$obj->change();
?>
Спустя 1 час, 37 минут, 47 секунд (5.10.2012 - 23:11) -=CASPER=- написал(а):
Oggy, переменная $name доступна только в методе create(). Читай про область видимости переменной.