|
|
автор: Bronepoez[) (16.10.2006 в 13:20) |
|
|
для: nikk
(15.10.2006 в 23:53)
| | В классе оговаривай только типы переменных, затем в конструкторе их значения.
пример:
<?
class foo
{
public $pub = "" // это строка
private $arr = array() // это массив
function __construct()
{
// устанавливаем переменные
$arr = array(1,2,3,4,5);
}
}
?>
|
| |
|
|
|
|
|
|
| Вот пытаюсь влезть в ООП и не понимаю:
class A
{
public $atr1="Аtr1 - значение по умолчанию в А";
public $atr2="Аtr2 - значение по умолчанию в А";
function __set($name,$value)
{
echo "<p>Запущена функция __set класса А
<br>Пытаюсь сделать переменной *$name* значение *$value*
";
$this->$name=$value;
}
}
$r=new a();
$r->atr2="Аtr2 - значение из сценария";
echo "<hr>вывод из сценария = ".$r->atr1;
echo "<p>вывод из сценария = ".$r->atr2;
|
Запускаю.
И не вижу, что была бы запущена функция __set при выполнении
$r->atr2="Аtr2 - значение из сценария";
|
Где она??
Причем, если убрать :
public $atr1="Аtr1 - значение по умолчанию в А";
public $atr2="Аtr2 - значение по умолчанию в А";
|
То __set по команде $r->atr2="Аtr2 - значение из сценария";
запускается …
В чем разница-то? | |
|
|
|
|