久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

Discuz! 官方交流社區

標題: 請教開發大佬問題! 類里的方法加&前綴是啥意思?啥作用? [打印本頁]

作者: 842939018    時間: 2020-11-8 21:15
標題: 請教開發大佬問題! 類里的方法加&前綴是啥意思?啥作用?
自己寫的插件不太好, 老有問題

但是自己用TP框架寫的程序還蠻好, 所以不是代碼水平問題,   我將其歸為"對discuz不熟悉"


于是來學習discuz源碼, 期望多寫一些插件, 質量好一點的插件!

  1. class discuz_ftp
  2. {
  3.         var $enabled = false;
  4.         var $config = array();
  5.         var $func;
  6.         var $_error;
  7.         var $currentdir = '/';
  8.         var $connectid;
  9.         function &instance($config = array()) {
  10.                 static $object;
  11.                 if(empty($object)) {
  12.                         $object = new discuz_ftp($config);
  13.                 }
  14.                 return $object;
  15.         }

  16.         function __construct($config = array()) {
  17.                 $this->set_error(0);
  18.                 $this->config = !$config ? getglobal('setting/ftp') : $config;
  19.                 $this->enabled = false;
  20.                 if(empty($this->config['on'])) {
  21.                         $this->set_error(FTP_ERR_CONFIG_OFF);
  22.                 } else {
  23.                         $this->enabled = true;
  24.                 }
  25.         }
復制代碼
請問, 1, instance方法前面的&符號有啥用?  啥意思?
2,這個是別人插件里的類文件, 和系統自帶的discuz_ftp類重名了,  沒有命名空間,為啥不報錯呢?

作者: dashen    時間: 2021-1-9 13:10
系統自帶的discuz_ftp類默認沒加載,插件加載了同名類,后續也不會再加載自帶的discuz_ftp類
作者: 玩慈利網    時間: 2021-10-22 08:56
可以可以,學習到了。
作者: 新秀網絡驗證    時間: 2022-6-4 09:29
學習學習。
作者: 842939018    時間: 2023-12-30 13:00
dashen 發表于 2021-1-9 13:10
系統自帶的discuz_ftp類默認沒加載,插件加載了同名類,后續也不會再加載自帶的discuz_ftp類 ...

謝謝!驗證后是這樣的。如果引入了同名的類,后面加載的類就不會再引進了。
所以后續開發新功能,可以接管系統的同類名
作者: 天外飄仙    時間: 2024-3-20 17:43
1、可參考 https://www.php.cn/faq/369829.html
2、discuzX的類是自動加載,且  插件的 加載優先于類的自動加載
作者: 財務3922    時間: 2024-4-9 14:50
提示: 作者被禁止或刪除 內容自動屏蔽
作者: 842939018    時間: 2024-4-18 00:40
dashen 發表于 2021-1-9 13:10
系統自帶的discuz_ftp類默認沒加載,插件加載了同名類,后續也不會再加載自帶的discuz_ftp類 ...

謝謝! 做了一些測試,如大家所說的,是PHP的自動加載特性,且插件優先加載
作者: 842939018    時間: 2024-4-18 00:41
天外飄仙 發表于 2024-3-20 17:43
1、可參考 https://www.php.cn/faq/369829.html
2、discuzX的類是自動加載,且  插件的 加載優先于類的自動 ...

飄仙大佬,謝謝! 做了一些測試,確實如此




歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/) Powered by Discuz! W1.0