Zend Framework2 教程 Zend\Mvc 快速入门(一)

安装应用架构

入门的最简单的方式就是获取示例应用和模块库。可以通过以下几种途径。

使用Composer

简单复制ZendSkelectonApplication库:

1
prompt> git clone git://github.com/zendframework/ZendSkeletonApplication.git my-application

然后运行Composer的install命令来安装ZF库和其他依赖配置:

1
prompt> php ./composer.phar install

使用GIT

简单复制ZendSkeletonApplication库,使用–recursive选项,也将获得ZF库。

1
prompt> git clone --recursive git://github.com/zendframework/ZendSkeletonApplication.git my-application

常规安装

  • 下载ZendSkeletonApplication库的安装包
    • Zip: https://github.com/zendframework/ZendSkeletonApplication/zipball/master
    • Tarball:https://github.com/zendframework/ZendSkeletonApplication/tarball/master
  • 解压到指定的目录下,根据项目需要重命名父级目录;这里使用“my-application”。
  • 安装Zend 框架,既可以放在include_path目录下,也可直接放在你的应用目录中。

创建新的模块

缺省情况下,ZendSkeletonApplication库提供了一个名为“Application”的模块。它只简单地提供了一个控制应用“主页”页面的控制器,layout模板,404和错误页面的模板。

通常情况下,你不需要改动这些,而是提供备用的入口页面和错误页面。

通过创建新的模块来实现而外的功能。建议使用ZendSkeletonModule作为基础。可以在这里下载:

  • Zip:https://github.com/zendframework/ZendSkeletonModule/zipball/master
  • Tarball:https://github.com/zendframework/ZendSkeletonModule/tarball/master

解压,并将其重命名为你希望创建的模块。完成后,移动到module/目录下。

接下来该创建一些功能了。

修改模块类

现在,我们来修改模块类。我们得确保初始化过程中的命名空间正确,配置可用可返回。由于我们正使用的模块,类列表在不断变化,我们想要自动加载的方式相当宽松。因此我们通过使用StandarAutoloader来保持它的灵活性。

首先,我们让autoload_classmap.php返回一个空数组:

1
2
3
<?php
// autoload_classmap.php
return array();

我们需要编辑config/module.config.php文件,如下:

1
2
3
4
5
6
7
return array(
    'view_manager' => array(
        'template_path_stack' => array(
            '<module-name>' => __DIR__ . '/../view'
        ),
    ),
);

“module-name”处换成破折号分隔的小写字母的模块名,如“ZendUser”应写为“zend-user”。

接下来,编辑Module.php文件,如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
namespace <your module name here>;

use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;

class Module implements AutoloaderProviderInterface, ConfigProviderInterface
{
    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';
    }
}

到这里,你已经正确地配置了你的模块。

你可能感兴趣的:(framework,Zend)