簡體   English   中英

PHP對象類變量

[英]PHP object class variable

我用PHP構建了一個類,我必須將一個類變量聲明為一個對象。 每次我想聲明一個我使用的空對象:

$var=new stdClass;

但是,如果我用它來聲明一個類變量

class foo
{
    var $bar=new stdClass;
}

發生解析錯誤。 有沒有辦法做到這一點,還是我必須將類變量聲明為構造函數中的對象?

PS:我使用的是PHP 4。

您只能通過這種方式為類成員聲明靜態值,即intsstringsboolsarrays等。 您不能執行涉及任何類型處理的任何操作,例如調用函數或創建對象。

你必須在構造函數中完成它。

相關手冊部分

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM