zoukankan      html  css  js  c++  java
  • zf2 getting started

    1. 新建Modules

    以一个名为Album的module为例,其目录结构如下(可使用zftool自动创建)

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
     zf2-tutorial/
         /module
             /Album
                 /config
                 /src
                     /Album
                         /Controller
                         /Form
                         /Model
                 /view
                     /album
                         /album

    为了加载和配置module,ZF2自备了一个ModuleManager。它会在指定module的根目录中(本例是module/Album)查找Module.php文件,并期望在此文件中找到名为AlbumModule的类。即是以module名为命名空间的Module类。

    code in 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 Album;
    
     use ZendModuleManagerFeatureAutoloaderProviderInterface;
     use ZendModuleManagerFeatureConfigProviderInterface;
    
     class Module implements AutoloaderProviderInterface, ConfigProviderInterface
     {
         public function getAutoloaderConfig()
         {
             return array(
                 'ZendLoaderClassMapAutoloader' => array(
                     __DIR__ . '/autoload_classmap.php',
                 ),
                 'ZendLoaderStandardAutoloader' => array(
                     'namespaces' => array(
                         __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                     ),
                 ),
             );
         }
    
         public function getConfig()
         {
             return include __DIR__ . '/config/module.config.php';
         }
     }
    

    注:若是使用zftool生成的Album目录结构,Module.php已经创建,与上文所示不同的是没有autoload_classmap.php文件的加载,若是使用上文code,则在此目录下再新建文件autoload_classmap.php并使其返回一个空的数组。

    The ModuleManager will call getAutoloaderConfig() and getConfig() automatically for us.

    module专属配置文件

    在module/Album/config目录下创建module.config.php文件,内容如下:

    1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
     return array(
         'controllers' => array(
             'invokables' => array(
                 'AlbumControllerAlbum' => 'AlbumControllerAlbumController',
             ),
         ),
         'view_manager' => array(
             'template_path_stack' => array(
                 'album' => __DIR__ . '/../view',
             ),
         ),
     );
    

    上文的code中可以看出返回的是一个数组,其中的每个子配置都会由ServiceMannger根据其键值传递给相应的组件。上文中的两个子配置是初始配置:controllers和view_manager。其中controllers子配置提供了本module所有的controllerde列表,就如已经配置的一样,我们将创建一个AlbumController,命名空间AlbumController。view_mannger配置的是view文件的存放路径。

  • 相关阅读:
    [android开放篇] wifi-direct接口网址
    [adb 连接不上的原因] 汇总
    SharePoint 2010 master page 控件介绍(1)
    Sharepoint 2010 根据用户权限隐藏Ribbon菜单
    How to: Hide the Ribbon in SharePoint 2010
    sharepoint2010网站根据权限隐藏ribbon
    SharePoint 2010 master page 控件介绍(2):ribbon (一同事读听着像泪奔)
    SharePoint 2010 Ribbon的实现
    为SharePoint网站创建自定义导航菜单
    Sharepoint 2010 用VS定制Master,并且每个Web应用同一个Master
  • 原文地址:https://www.cnblogs.com/flytome/p/4270749.html
Copyright © 2011-2022 走看看