Zend Framework 2 - 如何使用外部库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zend Framework 2 - 如何使用外部库相关的知识,希望对你有一定的参考价值。

我想将我的自定义类“Authentication.php”添加到我的项目中,但我不明白我该怎么做?

我已经阅读了许多关于外部库的方法,但没有任何效果。

ZendFramework /模块/防火墙/ Module.php

class Module
{
    public function onBootstrap(MvcEvent $e)
    {
        $eventManager        = $e->getApplication()->getEventManager();
        $moduleRouteListener = new ModuleRouteListener();
        $moduleRouteListener->attach($eventManager);
    }

    public function getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
    }

    public function getAutoloaderConfig()
    {
        return array(
            'ZendLoaderStandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                    'MyNamespace' => __DIR__ . '/../../vendor/MyNamespace/lib/MyNamespace',
                ),
            ),
        );
    }
}

ZendFramework / vendor / MyNamespace / lib / MyNamespace /Authentication.php

<?php

class Authentication {

public function test()
{
     die('Works fine');
}


}

?>

如何在控制器中调用外部库。

非常感谢你 !

答案

我试着这样:

1)

//module/Application/Module.php
public function getAutoloaderConfig()
{
    return array(
        'ZendLoaderStandardAutoloader' => array(
            'namespaces' => array(
                __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                'Mynamespace' => __DIR__ . '/../../vendor/Mynamespace',
            ),
        ),
    );
}

2)

//vendor/Mynamespace/MyClass.php
namespace Mynamespace;
class MyClass
{
    //...
}

3)我使用它,例如在我的控制器中:

use ZendMvcControllerAbstractActionController;
use MynamespaceMyClass;
class AdminController extends AbstractActionController
{
    public function indexAction()
    {
        $myclass = new MyClass();
    }
}
另一答案

对于这种类型的库,只需输入您的application.config.php即可

<?php
return array(
    'modules' => array(
        'ZendDeveloperTools',
        'Application',
        'YourLibrary' // <-- here
        ...
另一答案

在composer.json文件中添加库,如下所示

 "require": {
            "php": ">=5.3.3",
            "zendframework/zendframework": ">2.2.0rc1",
            "doctrine/doctrine-orm-module": "0.7.*",
            "zendframework/zend-developer-tools": "dev-master",
            "twig/twig": ">=1.12.3",

        }

然后在modules.config.php下的modules数组中

'modules' => array(
        'Application',
            'ZendDeveloperTools',
            'ZfcTwig',
            'DoctrineModule',
            'DoctrineORMModule','yourdir',

    ),

所以做一些类似的事情。

以上是关于Zend Framework 2 - 如何使用外部库的主要内容,如果未能解决你的问题,请参考以下文章

如何安装zend framework 2.4.11骨架应用程序

如何使用Zend Framework 2路由选择控制器命名空间?

如何在 composer 上使用 Zend Framework 2 的开发分支?

如何在 Zend Framework 2 中为局部使用共享视图脚本路径?

如何模拟 Zend\Form 提交而不在 Zend Framework 2/3 中显示表单?

如何在Zend Framework 2中访问路由,发布,获取等参数