【I】ZF2安装 和 创建一个新项目

参看zend文档 : http://framework.zend.com/manual/2.2/en/user-guide

目录

  1. I 安装ZF2

  2. II 安装一个新应用



I 安装 ZF2

在经过下载无效后,还是老实的从手册开始吧:http://framework.zend.com/manual/2.2/en/user-guide/skeleton-application.html

之前电脑上已经安装了Composer,这里不细谈,如果需要阅读更多请查看 composer安装 一文

php composer.phar create-project --repository-url="https://packages.zendframework.com" zendframework/skeleton-application path/to/install(换成要安装的目录路径)
 php composer.phar update

安装完成后,就可以查看页面了。

114814_nFHX_128605.png


代码结构如下:(注:Album 属于后面加的,马上会说到,现在可以忽略)

115030_ac0h_128605.png


至此,ZF2 已经安装好了。如果有难度,那就是composer的安装。类Linux系统都还比较好处理,Windows系统以前不好处理。现在已经有composer的安装软件了。

II 安装一个新的应用Album

参考: http://framework.zend.com/manual/2.2/en/user-guide/modules.html

    1) 在module下创建一个Album 的文件夹子目录

    2) 需要继续在Album下创建对应的子文件夹,文件暂时可以忽略。如下图:

        120009_ZheL_128605.png

    说明: Album已经将Module分开,Album内的命名空间也将变为 Album,存在于 src/Album文件夹内。在view的子目录下也有一个album的文件夹,那用于模块视图文件。

    3) 为了加载模块配置,ZF2 使用了ModuleManager.她将去module/Album下查找Module.php,这应该是类Album\Module 的类文件。在Module.php 文件内实现一下代码

namespace Album;

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


class Module implements AutoloaderProviderInterface, ConfigProviderInterface
{
    /**
     * Return an array for passing to Zend\Loader\AutoloaderFactory.
     *
     * @return array
     */
    public function getAutoloaderConfig()
    {
        // TODO: Implement getAutoloaderConfig() method.
        return array(
            'Zend\Loader\ClassMapAutoloader' => array(
                __DIR__ . '/autoload_classmap.php',
            ),
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ),
            ),
        );
    }

    /**
     * Returns configuration to merge with application configuration
     *
     * @return array|\Traversable
     */
    public function getConfig()
    {
        // TODO: Implement getConfig() method.
        return include __DIR__ . '/config/module.config.php';
    }

}

    4)还需要在 module/Album 下添加 autoload_classmap.php 文件。我们不需要使用classmap反悔什么,所以,只需返回一个空的数组即可。如果需要创建映射的化,可以如下创建

return array(
    'A\Class\Youre\Looking\For' => ___DIR__.'/xyz.php',
    );

    也可以使用Composer来 处理。可以在composer.phar内添加 

    

"autoload": {
     "psr-0": { "Album": "module/Album/src/" }
 },

    然后 运行 

    

php composer.phar update

    5)自动加载完成后,现在开始配置。了解下Album\Module 内的 getConfig() 方法。其实这个方法只是简单加载config/module.config.php 。

        在module/Album/config下,创建一个module.config.php 。添加代码如下

    

return array(
    'controllers' => array(
        'invokables' => array(
            'Album\Controller\Album' => 'Album\Controller\AlbumController',
        ),
    ),
    'view_manager' => array(
        'template_path_stack' => array(
            'album' => __DIR__ . '/../view',
        ),
    ),
);

    该配置文件将通过ServiceManager传递到相关的部件中。需要实例化两个部分:controllers 和 view_manager。controllers可以提供该模块的所有控制器。控制器的键名必需在所有模块唯一。所以可以添加模块名称作为前缀处理。

    view_manager 部分是为TemplatePathStack添加的视图字典。这样可以方便TemplatePathStack迅速查找到对应的视图脚本。

    6)为新模块添加信息

    需要将新模块通知到ModuleManager,所以需要在config/appliction.config.php内修改modules模块信息。修改如下:

    135519_S6h8_128605.png   

    至此我们已经完成了基于ZF2的一个模块添加工作。

转载于:https://my.oschina.net/worldread/blog/298888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值