⑴ 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 我弄了登錄的系統,如何獲取當前登錄的用戶名並顯示出來具體代碼怎麼寫謝謝
其實就是一個記錄的問題。
比如你可以在建表時,就創建一個在線表,其中可以包含在線用戶ID號、用戶名等等內容。
通常情況下該表是空的,當有用戶登錄時,就將其ID號寫入該表,手動退出時,清除表中記錄。
這樣當要顯示在線用戶列表時,只需要遍歷這個表就行。
還有一種方法是在創建用戶信息表時,預留一個欄位為:on_line,其類項為布爾型,默認值是false。當對應用戶登錄時,將該值update為true,當用戶手動退出時將該值重置為false。
這樣,當要顯示在線用戶時,直接遍歷用戶表時使用條件where on_line=true即可。