導航:首頁 > 編程語言 > php訪問對象的屬性

php訪問對象的屬性

發布時間:2023-05-11 17:42:33

A. php 對象的成員屬性名稱是數字,如何才能訪問

數字也是可以訪問的,按照你這個例子來說,可以這樣:

$obj->{0}

B. php 對對象的屬性怎麼操作

用箭頭操作

classAction{
private$name=null;

functiongetName(){
return$this->name;
}

functionsetName($name){
$this->name=$name;
}
}

C. php中的類、對象、屬性、方法,能不能這樣理解

你的理解是對的。類就是指猛純毀一類人、事、物。對象就是類裡面具體都某個個體,所以褲遲稱枝備為實例化一個對象。屬性就是這個對象所擁有的特性,方法就是該對象能夠做的事。所以你的理解是正確的。

D. php 的public作用

從PHP5.0版本開始,對象聲明時需要聲明對象屬性和方法的可見性,public關鍵字表示屬性或方法是公開可見的。

在PHP5.0之前未支持對象屬性和方法的可見性定義,默認所有的屬性和方法都是公開可見的,如以下的對象聲明:

//例1
classObj{
var$name='Obj';
functiongetName(){
return$this->name;
}
}

而PHP5開始推薦寫法為:

//例2
classObj{
protected$name='Obj';
publicfunctiongetName(){
return$this->name;
}
}

對於例1來說,實際上可以直接訪問name屬性,從而繞過getName方法,如

$obj=newObj();
echo$obj->name;

而對於例2來說,由於$name屬性是protected(受保護的),因此必須使用getName方法才能得到$name屬性的值。

同時這也是面向對象語言通用的一種聲明方式。

public: 公開可見

protected: 對象內部可見 (該對象的子對象同樣可以訪問)

private: 對象自身內部可見 (不包含該對象的子對象,或者說private屬性和方法不會被繼承)

E. PHP中面向對象的類中,屬性都允許哪些數據類型

對屬性或方法的訪問控制,是通過在前面添加關鍵字 public、protected 或 private 來實現的。由 public 所定義的類成員可以在任何地方被訪問;由 protected 所定義的類成員則可以被其所在類的子類和父類訪問(當然,該成員所在的類也可以訪問);而由 private 定義的類成員則只能被其所在類訪問。

F. PHP數組中可否存放對象如果可以,那麼在smarty的模板中應當如何獲取對象的屬性值

PHP的數組是支持保存對象的實例的,然後你的錯誤提示中也能看出是用了數組的方式來訪問了一個對象。
建議你不要用對象的形式,而全部都用數組。可以用json函數來轉換
$user_array=json_decode(json_encode($user_array),true);

這樣一來$user_array裡面就全部都是數組,其中原先對象的部分被一個包含了其所有成員屬性的數組替代。

G. php訪問對象

$data = $m_request_data->data; #訪問對象
這一句要注意了。你這里只是臨時定義個變數。要想在類中全部能用它,
class A{
可以在類中先聲明它
private $data;
或者定義一個靜態方法
public static $data;

然後構造方法最後一句變為
public function __construct() {
…………
$this->data= $m_request_data->data; #訪問對象
//靜態方法是self::data = $m_request_data->data;
}

好了這里
function data(){
print_r($this->data);//直接用,列印還是取值$this->data->value();隨你~~
//靜態的是print_r(self::data);
}

H. 說說php面向對象編程時static,public,private,protected 各有什麼意義

staticpublic與publicstatic是等價的,這兩者只是兩個修飾符的順序不同。根據oracle.com教材中第八章的描述,如果兩個或兩個以上的(不同的)欄位修飾符出現在欄位聲明,它們出現的順序需與FieldModifier一致,這只是習慣,但不是必需的。部分修飾符說明:public是訪問許可權修飾符,用於控制外界對類內部成員的訪問,聲明為public的對象成員是完全共有的,外界可以隨意訪問,除此之外還有private,protected和默認。static控制類成員變化的修飾符。static是靜態成員修飾符,其修飾的靜態變數脫離具體對象獨立存在,在內存中之後一份拷貝,所有的對象都公用這一個存儲空間,所以對static修飾的靜態變數進行的修改對該類的所有對象都起作用。static修飾的靜態函數代表所有對象的統一操作,只能調用靜態變數。static是針對面向對象中的「多態」而提出來的,static修飾的靜態成員不存在多態性。附:FieldModifier順序

I. php對象訪問不存在的類屬性

使用get()和set()而不使用public的成員變數,是因為我們設計類的時候要遵循這樣的原則:
提供類的人要盡量將類中有什麼隱藏起來,只告訴使用者你能做什麼
使用類的人不關心你的類中有什麼,只關心類提供了什麼功能
所以設計類的時候要盡量不提供public的成員變數,最好一個都沒有,只提供介面
這條原則其實不僅是代碼規范的問題,放到工作中,這就是多項目組或多部門之間合作的准則
這條原則也絕對不是某個獨自編碼的程序狼一拍腦袋就想出來,這是經歷過有組織開發過工作的程序猿才能設計出來的。
————————————————————————————————————————————————————————————
這個問題其實很簡單,比如
setAge(int age){
if(age<1||age>120)
throw new Exception(" 你輸入的年齡不合法");
}else{
this.age=age;
}

這個是public變數做不到的,安全是其中一個原因,另外樓主你要是學過Hiberante和Spring的話,就會知道
一些類的變數,即使是public的,也必須寫上set方法,否則就出錯,框架設計的時候就這么要求的

所以別人都這么做的時候,你這么做只會有好處而不會有壞處,這就是標准

J. php怎麼訪問對象中的private

私有屬性方法在對象外不能訪問,在對象內可以蔽塌訪問,那麼你可以寫一個共有public的方法,在方法里對對象里巧殲的私有屬性宏寬圓方法採取調用就可以了。所謂私有就是避免對象外的亂改,加個方法起限制

閱讀全文

與php訪問對象的屬性相關的資料

熱點內容
蘋果筆記本t2加密晶元怎麼打開 瀏覽:796
安卓如何把手機投屏至電視 瀏覽:737
方舟編譯器現在可提速哪些軟體 瀏覽:58
微信加密為什麼是黑屏 瀏覽:473
android去電狀態 瀏覽:602
蘋果13如何加密視頻 瀏覽:813
linuxweblogic緩存 瀏覽:67
雲伺服器不同地域 瀏覽:946
python鬧鍾怎麼打 瀏覽:686
虛擬主機伺服器有什麼區別 瀏覽:833
演算法與程序的奧秘章節檢測 瀏覽:377
找pdf 瀏覽:529
與伺服器連接斷開如何處理 瀏覽:833
伺服器維修預計十分鍾什麼意思 瀏覽:170
黑馬程序員主打教學是什麼 瀏覽:41
python九乘法表怎麼編寫 瀏覽:974
思維方式pdf 瀏覽:656
tcc社區app怎麼注冊 瀏覽:941
央視網下載加密 瀏覽:454
命令行訪問伺服器 瀏覽:36