我的控制器中的Zend Framework 2自定义库

Pie*_*rre 1 php zend-framework2

我正在使用ZendSkeletonApplication,我有这个目录:

/home/mydir/vendor/My/library/My/Helper
Run Code Online (Sandbox Code Playgroud)

其中包含ff.php(分别/home/mydir/vendor/My/library/My/Helper/ff.php)

我的代码在ff.php:

<?php

namespace My\Helper;

class FF {
    public function test() {
        echo "success !";
    }
}
Run Code Online (Sandbox Code Playgroud)

而我的控制器:

<?php
namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

use My\Helper\FF;

class IndexController extends AbstractActionController
{
    public function indexAction()
    {
        FF::test();
        return new ViewModel();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的module.php:

public function getAutoloaderConfig()
{
    return array(
        'Zend\Loader\StandardAutoloader' => array(
            'namespaces' => array(
                __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                'My' => __DIR__ . '/../vendor/My/library/My'
            ),
        ),
    );
}
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:Fatal error: Class 'My\Helper\FF' not found in /home/mydir/module/Application/src/Application/Controller/IndexController.php on line 13

如何解决?

谢谢

Tou*_*unu 6

你应该在你module.php或你这样做init_autoloader.php

       'Zend\Loader\StandardAutoloader' => array(
            'namespaces' => array(
                __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                'My' => __DIR__ . '/../../vendor/My/library/My',
            ),
        ),
Run Code Online (Sandbox Code Playgroud)

这将完成工作:)

编辑:在你的控制器

<?php
namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

use My\Helper\FF;

class IndexController extends AbstractActionController
{
    public function indexAction()
    {
        FF::test();
        return new ViewModel();
    }
}
Run Code Online (Sandbox Code Playgroud)

要么

<?php
namespace Application\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class IndexController extends AbstractActionController
{
    public function indexAction()
    {
        \My\Helper\FF::test();
        return new ViewModel();
    }
}
Run Code Online (Sandbox Code Playgroud)