2013-08-24 57 views
0

我希望有人能幫助我在php中實現相同的結構。這是我在.NET類中所做的。需要幫助將.NET類結構轉換爲PHP

Public Class objSample 

Private _MyPrivateVar As Boolean = False 

Public Property MyPublicProperty As Boolean 
    Get 
     Return _MyPrivateVar 
    End Get 
    Set(ByVal value As Boolean) 
     _MyPrivateVar = value 
    End Set 
End Property 

End Class 

回答

1

這就是:

class objSample 
{ 
    private $_MyPrivateVar = false; 

    public $_MyPublicProperty; 

    public function getMyPrivateVar() 
    { 
     return $this->_MyPrivateVar; 
    } 

    public function setMyPrivateVar($val) 
    { 
     $this->_MyPrivateVar = $val; 
    } 
} 
+0

你瞧,這就是我已經得到了困惑。因爲你們都是正確的,但我不確定使用情況是否相同。在vb.net中,我可以像這樣使用Dim NewVal作爲boolean = objSample.myPublicProperty來獲取對象。而且我也可以使用相同的方式設置它像'objSample.myPublicProperty = 6'。現在我正在閱讀關於PHP的魔術功能,這是我從皇家Bg發佈的內容中看到的。這似乎幾乎就在那裏。 – joeb

+0

但是現在在你給我看的這裏我將不得不使用這個來設置'objPHP :: setMyPrivateVar(6)'這意味着對於每個屬性我都必須定義set並獲得在代碼上殺手的函數。所以我不確定要走哪個方向。 – joeb

+0

我想讓我問一下這個問題。你將如何設置一個私人財產從課外在PHP?最好的方法是什麼? – joeb

0

我不知道這是什麼代碼的目的,有缺乏知識VB,似乎有幾乎不使用。不過,我試圖讓它成爲我認爲必須奏效的東西。也許更有經驗的Visual Basic人員也可以提供幫助。但是,請記住,我們不是在這裏轉換代碼。你應該爲你的目的調查PHP。

<?php 

class objSample { 
    private $_myPrivateVar = false; 
    public $myPublicProperty; 

    public function __get() { 
     return $this->_myPrivateVar; 
    } 

    public function __set($value) { 
     $this->_myPrivateVar = $value; 
    } 
} 

?> 
+0

什麼'方法重載'與它有關? '__get()'和'__set()'用於'undefined'類的屬性。這沒有意義。 – Yang

+0

這就是我認爲VB.NET的「Get ... End Get Set(....)」 –