當前位置:首頁 » 編程語言 » php調用對象方法

php調用對象方法

發布時間: 2022-12-28 18:42:02

❶ 怎麼給 php 對象動態添加方法

來個例子:

<?php
$a=newstdclass();
$a->name=function(){echo'mylove';};

//調用的時候有點麻煩
$b=$a->name;
$b();

後來我想想,這特么和下面這種寫法是一樣的:

<?php
$a=newstdclass();
$b=$a->name=function(){echo'mylove';};
$b();

反正也不好玩啊。

❷ php創建一個類,在類中聲明一個數組存放另一個對象,為什麼無法調用數組中對象的方法

//新建一個類User用來存放這,三個數據
//結果放到一個User數組中,你看這可以嗎?
//還是說要放到一個list中?

public class ObjectTest {

public static void main(String[] args) {
String[] id = new String[8];
String[] type = new String[8];
String[] username = new String[8];

User[] users = getUsers(type, id, username);
}

private static User[] getUsers(String[] type, String[] id, String[] username) {
User[] users = new User[type.length];
for (int i = 0; i < type.length; i++) {
users[i] = new User(id[i], type[i], username[i]);
}
return users;
}
}

class User {

public User(String id, String tpye, String username) {
this.tpye = tpye;
this.id = id;
this.username = username;
}

private String tpye;
private String id;
private String username;

public String getTpye() {
return this.tpye;
}

public String getId() {
return this.id;
}

public String getUsername() {
return this.username;
}

public void setTpye(String tpye) {
this.tpye = tpye;
}

public void setId(String id) {
this.id = id;
}

public void setUsername(String username) {
this.username = username;
}

}

❸ php 面向對象中類內方法調用方法,可取嗎

classA{
staticfunctionfunAS(){
//dosomething
}
functionfunA(){
//dosomething
}
functionfunB(){
//調用本類的A方法,需要實例化
$this->funA();
//調用本類的靜態方法,無需實例化
self::funAS();
//調用其它類類方法,需實例化
$o=newB();
$o->funA();
//調用其它類靜態方法,無需實例化
B::funAS();
}
}

classB(){
staticfuntionfunAS(){
//dosomething
}
functionfunA(){
//dosomething
}
}

至於限制,看function前面有沒有其他修飾符

若有protect,則該方法只能被本類和它的繼承類調用

若有private,則該方法只能被本類調用

❹ 微擎PHP怎樣調用資料庫里a:1:{s:4:"type";s:1:"2";}內數組內容

$a=a:1:{s:4:"type";s:1:"2";};
$b=unserialize($a);
print_r($b);
序列化serialize()與反序列化unserialize():
序列化serialize():就是將一個變數所代表的
「內存數據」轉換為「字元串」的形式,並持久保存在硬碟(寫入文件中保存)上的一種做法,即,把「內存數據」轉換為「字元串」然後保存到文件中;
反序列化unserialize():就是將序列化之後保存在硬碟(文件)上的「字元串數據」恢復為其原來的內存形式的變數數據的一種做法,即,把文件中保存的序列化後的「字元串數據」恢復為「內存數據」;
對象的序列化:1.對一個對象進行序列化,只能將其屬性數據「保存起來」,而方法被忽略(方法不是數據),但是類名也能被保存起來,因此反序列化的位置只要有該類文件,就仍然可以將對象還原,即該對象的屬性和方法依然可以使用;
2.對象序列化的時候,會自動調用該對象所屬類的__sleep()魔術方法;
對象的反序列化:1.對一個對象進行反序列化,其實是恢復原來保存起來的屬性數據,而且,此時必須需要依賴該對象原來的所屬類;
2.對象反序列化的時候,會自動調用該對象所屬類的__wakeup()魔術方法;
總結:一般當我們需要將數據保存到文件中時會用到序列化,保存到資料庫中一般不這樣用,因為序列化和反序列化的過程其實很耗時

❺ php如何在一個頁面調用另一個頁面的方法

先用include或require引入要調用的方法所在的類文件,例:
include
'./page.class.php';
然後看該方法是否靜態方法,如果是:
直接用類名調用該方法,例:page::方法名();
如果不是靜態方法:
先實例化出該類的對象,再用對象調用,例:
$a=new
Page();
$a->方法名();
。。為啥看別人問題只只看得到標題,看不到內容

熱點內容
知道一個伺服器的ip地址 發布:2025-07-04 14:20:33 瀏覽:597
蘋果7鎖屏密碼怎麼改 發布:2025-07-04 14:04:44 瀏覽:710
P三零是什麼配置 發布:2025-07-04 13:58:41 瀏覽:361
哪個安卓機有長方形home鍵 發布:2025-07-04 13:43:58 瀏覽:861
android腳本錄制 發布:2025-07-04 13:17:47 瀏覽:342
嵌入式和安卓哪個硬體成本高 發布:2025-07-04 13:05:56 瀏覽:229
360代理伺服器怎麼設置 發布:2025-07-04 12:49:49 瀏覽:515
iphone在哪清除緩存 發布:2025-07-04 12:49:38 瀏覽:340
代理訪問網址 發布:2025-07-04 12:47:50 瀏覽:400
分頁存儲的管理方式 發布:2025-07-04 12:47:45 瀏覽:495