php - 在 Yii 中包含外部库

标签 php class namespaces yii

如何在我的 Yii 应用程序中的任何地方调用这些库函数?我有一个图书馆:

#mylib.php

<?php
class MyLib {
    public function foo()
    {
        echo "hello!";
    }
}

并希望能够在我的 Yii 应用程序中调用此函数:

MyLib::foo();

我不知道在哪里放置我的库或如何/在哪里导入它。这只是我正在尝试做的事情的一个示例,但我正在尝试创建一个具有多个命名空间的库,以便我可以访问该库并在导入它后访问所有命名空间。

最佳答案

有几种方法。

  1. 注册库的自动加载器:

    // Enable Zend autoloader
    spl_autoload_unregister(array('YiiBase', 'autoload')); // Disable Yii autoloader
    Yii::import('site.common.lib.*'); // Add Zend library to include_path
    Yii::import('site.common.lib.Zend.Loader.Autoloader', true); // Require Zend autoloader
    spl_autoload_register(array('Zend_Loader_Autoloader', 'autoload')); // Register Zend autoloader
    spl_autoload_register(array('YiiBase', 'autoload')); // Register Yii autoloader
    
  2. 将库添加到 config/main.php 的导入部分:

    return array(           
        // Autoloading
        'import' => array(
            'application.lib.*',
            'application.components.*',
            'site.common.extentions.YiiMongoDbSuite.*',
        ),
    );
    
  3. 在应用程序的任何位置自动加载:

    Yii::import('application.lib.*');
    

关于php - 在 Yii 中包含外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8649064/

相关文章:

namespaces - 在控制台 C++ 应用程序中使用 WIndows::System::Launcher 类成员函数的 C++ 示例

javascript - 通过 jquery handlebar.js 禁用基于值的复选框

javascript - 如何将 Javascript "partial classes"与 TypeScript 样式类定义一起使用

java - 从另一个类快捷方式检查天文台时间

vb.net - 新 pc 导致 "namespace of type specified in the imports doesn' t 包含任何公共(public)成员”在 VB.NET

namespaces - XLSX-如何去掉默认的命名空间前缀 x :?

php-从数组分页数据

php - WordPress wp-admin 面板奇怪的行为

PHP 邮件无限期挂起 - 如何调试?

c++ - 如何处理成员函数中的递归?