導航:首頁 > 編程語言 > php類調用自己的方法

php類調用自己的方法

發布時間:2025-08-22 17:04:57

① 在php中如何設置類的屬性,如何調用類的方法

PHP訪問類的屬性、方法使用箭頭語法(->)。這里我給你一個例子供你參考:

<?php
classMyClass{//定義MyClass類
public$name;//定義了一個公有屬性
protected$_age;//定義了一個保護屬性
private$_email;//定義了一個私有屬性

publicfunctionmy_method(){//定義my_method方法
}

protectedfunction_my_method2(){//定義_my_method2方法
}
}
$obj=newMyClass;//實例化
$obj->name='noname';//設置name屬性
$obj->_age=12;//這是錯誤的,不能設置保護屬性
$obj->address='KingStreet.'//設置一個未聲明的屬性是允許的,效果和公有屬性類似,但未賦值前不能使用。
$obj->my_method()//調用公有方法
$obj->_my_method2();//這是錯誤的,不能調用保護方法

你需要理解繼承、公有、保護和私有的概念。

繼承:子類繼承父類的公有、保護屬性和方法。

公有:類的實例可以訪問的屬性和方法。

保護:只能在類的內部及其子類內部訪問的屬性和方法。

私有:只能在類的內部訪問的屬性和方法。


這是個很基礎的問題,建議你多看書。

② php中根據類名怎麼動態獲取已定義的類對象並動態調用某個方法

在 PHP 中,可以通過類名來動態獲取已定義的類對象,然後再調用類的方法。可以使用以下兩個函數來實現:
1. `class_exists()` 函數可以判斷一個類是否已經定義。
2. `call_user_func()` 函數可以動態調用一個方法。
下面是示例代碼:
```
// 判斷類是否已定義
if (class_exists('ClassName')) {
// 實例化類對象
$obj = new ClassName();
// 動態調用方法
call_user_func(array($obj, 'methodName'));
}
```
在這個示例中,`ClassName` 是要動態獲取的類名,`methodName` 是要調用的方法名。首先,使用 `class_exists()` 函數判斷類是否已經定義,如果已經定義,則使用 `new` 關鍵字實例化類對象,並將其賦值給 `$obj` 變數。然後,使用 `call_user_func()` 函數動態調用方法。`array($obj, 'methodName')` 表示要調用 `$obj` 對象的 `methodName()` 方法。
需要注意的是,如果要調用的方法需要傳遞參數,可以在 `call_user_func()` 函數的第二個參數之後依次添加參數值。例如,如果要傳遞一個參數,可以這樣調用:
```
call_user_func(array($obj, 'methodName'), $param1);
```
其中,`$param1` 是要傳遞的參數值。

③ php 類中方法之間參數怎麼調用

  1. class A
    {
    public $bb,$cc;
    function othersomething()
    {
    return $this->cc;
    }
    }

    function dosomething()
    {
    $bb = $this->bb;
    $othersomething = $this->othersomething();
    }

    方法的參數是新定義一個變數,注意是新定義,方法結束自動銷毀,

2.PHP類中方法定義的參數與調用時的參數名稱可以不同。

帶默認值的就是指當這些參數沒有給出的時候可以按照預定義內容進行賦值(按參數順序調用)。

functiontext($i,$a="test1",$test="test2"){

echo"<h1>{$i}</h1>";

echo"<h1>{$a}</h1>";

echo"<h1>{$test}</h1>";

}

2.調用:

text("test");

----顯示

test

test1

test2

text("test","test3","test4");

----顯示

test

test3

test4

閱讀全文

與php類調用自己的方法相關的資料

熱點內容
產品折扣演算法 瀏覽:398
rra格式能直接解壓么 瀏覽:462
蘇州網友吐槽程序員 瀏覽:174
java數字圖像處理 瀏覽:819
停車場如何連接伺服器 瀏覽:445
include的用法android 瀏覽:187
android銀聯支付介面文檔 瀏覽:733
方舟編譯器發明人 瀏覽:710
什麼app能看奧運會 瀏覽:500
程序員月薪過萬有多少 瀏覽:488
100個壓力解壓視頻 瀏覽:866
西什麼app下載 瀏覽:350
深圳程序員的工作好找嗎 瀏覽:185
解壓流體圖片大全 瀏覽:458
手機怎麼設置定位伺服器地址 瀏覽:119
java連接mysql資料庫代碼 瀏覽:509
java標識符命名 瀏覽:387
公司的app如何上支付寶 瀏覽:88
怎麼拒絕app訪問桌面 瀏覽:922
對程序員說你 瀏覽:936