我在第一个Zend Framework 2计划中犯了错误

时间:2014-03-11 16:56:09

标签: php zend-framework zend-framework2

首先创建一个文件夹coinsproject然后, coinsproject - > config文件夹,src文件夹,视图文件夹,autoload_classmap.php,Module.php

在Coinsproject / autoload_classmap.php

<?php
return array();
?>

在Coinsproject / Module.php中

<?php
namespace Coinsproject;

class Module
{
 public function getAutoloaderConfig()
 {
     return array(
         'Zend\Loader\ClassMapAutoloader' => array(
             __DIR__ . '/autoload_classmap.php',
         ),
         'Zend\Loader\StandardAutoloader' => array(
             'namespaces' => array(
                 __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
             ),
         ),
     );
 }

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

?>

在Coinsproject / config / module.config.php

<?php

return array(
 'controllers' => array(
     'invokables' => array(
         'Coinsproject\Controller\Coinsproject' => 'Coinsproject\Controller\CoinsprojectController',
     ),
 ),


 'router' => array(
     'routes' => array(
         'album' => array(
             'type'    => 'segment',
             'options' => array(
                 'route'    => '/coinsproject[/][:action][/:id]',
                 'constraints' => array(
                     'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                     'id'     => '[0-9]+',
                 ),
                 'defaults' => array(
                     'controller' => 'Coinsproject\Controller\Coinsproject',
                     'action'     => 'index',
                 ),
             ),
         ),
     ),
 ),

 'view_manager' => array(
     'template_path_stack' => array(
         'coinsproject' => __DIR__ . '/../view',
     ),
 ),
 );

?>

在Coinsproject / src / Coinsproject / Controller / CoinsprojectController.php

<?php

namespace Coinsproject\Controller;

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

 class CoinsprojectController extends AbstractActionController
{
 public function indexAction()
 {
return new ViewModel();
 }
}
?>

在Coinsproject / view / coinsproject / coinsproject / index.phtml

<html>
my name is swapnil.
</html>

然后我在root / config / application.config.php中调用我的模块但是当我运行它时它没有工作。我在哪里犯了错误?

2 个答案:

答案 0 :(得分:1)

可能应该将index.phtml放在

Coinsproject/view/coinsproject/index.phtml 
[Modulename]/view/[Controllername]/[actionname].phtml

不在

Coinsproject/view/coinsproject/coinsproject/index.phtml

并尝试在view_manager中的module.config.php中更正定义视图脚本(phtml文件)

  'view_manager' => array(
       'template_map' => array(
            coinsproject/coinsproject/index => __DIR__ . '/../view/coinsproject/index.phtml
        )
    )

答案 1 :(得分:1)

在Coinsproject / config / module.config.php

'routes' => array(
         'album' => array(

'routes' => array(
         'coinsproject' => array(

你忘了首先将路线改为币项目,我不知道它是否是唯一的修正,但它是一个开始。