[英]PHP object class variable
我用PHP構建了一個類,我必須將一個類變量聲明為一個對象。 每次我想聲明一個我使用的空對象:
$var=new stdClass;
但是,如果我用它來聲明一個類變量
class foo
{
var $bar=new stdClass;
}
發生解析錯誤。 有沒有辦法做到這一點,還是我必須將類變量聲明為構造函數中的對象?
PS:我使用的是PHP 4。
您只能通過這種方式為類成員聲明靜態值,即ints
, strings
, bools
, arrays
等。 您不能執行涉及任何類型處理的任何操作,例如調用函數或創建對象。
你必須在構造函數中完成它。
相關手冊部分 :
在PHP 4中,只允許使用var變量的常量初始值設定項。 要使用非常量值初始化變量,您需要一個初始化函數,該函數在從類構造對象時自動調用。 這樣的函數稱為構造函數(見下文)。
類和對象(PHP 4) 。 每次都很好讀!
你不應該在這里創建你的對象。
你最好寫一下setter和getter
<?php
class foo
{
var $bar = null;
function foo($object = null)
{
$this->setBar($object);
}
function setBar($object = null)
{
if (null === $object)
{
$this->bar = new stdClass();
return $this;
}
$this->bar = $object;
return $this;
}
}
順便說一下,你應該使用PHP5來使用OOP,這更靈活......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.