65.9K
CodeProject 正在变化。 阅读更多。
Home

Zend 2 入门 – “Hello World” - 第 2 部分

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2014 年 10 月 14 日

CPOL
viewsIcon

6026

Zend 2 入门

在我的上一篇博文中,我解释了如何配置 Zend2 项目。 在这篇博文中,我们将看到项目模块中更多的设置,以及在 控制器视图 中编写代码。

让我们开始吧…

检查 module/Application/Module.php 是否存在。 如果不存在,请创建它。
打开终端 (ctrl+alt+t)。

sudo vim module/Application/Module.php

并编写以下代码

namespace Application;
use Zend\Mvc\MvcEvent;
 
class Module
{
    public function onBootstrap(MvcEvent $event)
    {
        $app = $event->getApplication();
        $eventManager = $app->getEventManager();
        $moduleRouteListener = $app->getServiceManager()
            ->get('ModuleRouteListener');
        $moduleRouteListener->attach($eventManager);
    }
 
    public function getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
    }
 
    public function getControllerConfig()
    {
        return [
            'invokables' => [
                'Application\Controller\Index' => 'Application\Controller\IndexController'
            ],
        ];
    }
 
    public function getAutoloaderConfig()
    {
        return [
            'Zend\Loader\ClassMapAutoloader' => [
                __DIR__ . '/autoload_classmap.php'
            ]
        ];
    }
}

检查 module/Application/autoload_classmap.php 是否存在。 如果不存在,请创建它。 打开终端 (ctrl+alt+t)。

sudo vim module/Application/autoload_classmap.php

并编写以下代码

<?php
return [
    'Application\Module'                        
    => __DIR__ . '/Module.php',
    'Application\Controller\IndexController'    
    => __DIR__ . '/src/Application/Controller/IndexController.php',
];

这个模块中只有两个类,我们的 ‘Module.php’ 和 ‘IndexController.php’,现在这些文件将自动加载。

现在,我们需要修改的最后一个文件是 config/application.config.php

sudo vim config/application.config.php

并编写以下代码

<?php

return [
    'modules' => [
        'Application',
    ],
    'module_listener_options' => [
        'module_paths' => [
            './vendor',
            './module',
        ],
        'config_glob_paths' => [
            'config/autoload/{,*.}{global,local}.php',
        ],
    ],
    'service_manager' => [
        'invokables' => [
            'ModuleRouteListener' => 'Zend\Mvc\ModuleRouteListener',
        ],
    ],
];

现在,所有设置都已完成,我们可以开始编写控制器代码了。
现在我们需要在其中编写动作。 以编辑模式打开它。

sudo vim module/Application/src/Application/Controller/IndexController.php

并在其中编写以下代码

<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
class IndexController extends AbstractActionController
{
    public function indexAction()
    {
        return new ViewModel();
    }
}

现在,我们需要为它创建视图,所以打开终端并创建一个视图。

mkdir -p module/Application/view/application/index/index.phtml

在编辑器中打开它

sudo vim module/Application/view/application/index/index.phtml

现在,编写以下代码

<?php 
echo "Hello World"
?>

现在,我们完成了所有操作。 要检查是否一切正常,请打开浏览器并输入 zf2.localhost.com。 你将在网页上看到 “Hello World”。

© . All rights reserved.