doulu1867 2013-06-05 15:27
浏览 17
已采纳

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

I'm using ZendSkeletonApplication and I have this directory :

/home/mydir/vendor/My/library/My/Helper

which contains ff.php (respectively, /home/mydir/vendor/My/library/My/Helper/ff.php)

My code in ff.php :

<?php

namespace My\Helper;

class FF {
    public function test() {
        echo "success !";
    }
}

And my controller :

<?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();
    }
}

My module.php :

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

And I get this error :Fatal error: Class 'My\Helper\FF' not found in /home/mydir/module/Application/src/Application/Controller/IndexController.php on line 13

How resolve ?

Thank you

  • 写回答

3条回答 默认 最新

  • dousong4777 2013-06-05 15:35
    关注

    You should do like this in your module.php or init_autoloader.php

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

    And that will do the job :)

    EDIT : And in your controller

    <?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();
        }
    }
    

    or

    <?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();
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码