You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CodeIgniter控制器中调用第三方Composer包(MineStat示例)

解决CodeIgniter中引入MineStat报Class 'MineStat' not found的问题

方法一:使用Composer安装(推荐)

  1. 安装MineStat
    在项目根目录执行Composer命令:

    composer require fragland/minestat
    
  2. 开启CodeIgniter的Composer自动加载
    打开application/config/config.php,找到$config['composer_autoload'],设置为TRUE(或直接指定vendor/autoload.php的路径):

    $config['composer_autoload'] = TRUE;
    
  3. 控制器中正确调用
    顶部添加正确的命名空间引用,再实例化类:

    use MineStat\MineStat;
    
    class YourController extends CI_Controller {
        public function getServerStatus($ip) {
            // 服务器用默认端口25565时可省略第二个参数
            $ms = new MineStat($ip, 25565);
            return $ms->is_online();
        }
    }
    

方法二:手动引入文件

  1. 存放MineStat文件
    下载MineStat的PHP源码,将src/MineStat.php复制到CodeIgniter的application/third_party目录下。

  2. 控制器中引入并使用
    可通过CodeIgniter的文件加载方法引入,再结合命名空间调用:

    class YourController extends CI_Controller {
        public function getServerStatus($ip) {
            // 引入第三方文件
            $this->load->file(APPPATH . 'third_party/MineStat.php');
            
            // 方式1:添加命名空间引用
            use MineStat\MineStat;
            $ms = new MineStat($ip, 25565);
    
            // 方式2:直接使用完整命名空间实例化,无需use
            // $ms = new \MineStat\MineStat($ip, 25565);
            
            return $ms->is_online();
        }
    }
    

关键注意点

  • 你之前写的use MineStat;有误,MineStat的类位于MineStat命名空间下,类名同样是MineStat,正确引用应为use MineStat\MineStat;。
  • 手动引入时务必检查文件路径是否正确,确保APPPATH指向项目的application目录。
  • 确认服务器PHP版本满足MineStat要求(需PHP 7.0及以上)。

内容的提问来源于stack exchange,提问作者Bünyamin Pollin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:01:01