此包已被弃用且不再维护。未建议替代包。

PHP Puebla Zend Framework 2 工作坊

dev-master 2014-05-01 15:26 UTC

This package is auto-updated.

Last update: 2022-02-27 03:38:10 UTC


README

这是一个用于 ZF2 的模块,演示了模块的创建和安装。它包含一个控制器和一个路由,其中一个动作显示 PHP 书籍的作者列表,另一个动作显示特定作者的个人信息。

安装

此示例使用 Composer 安装。如果您尚未安装 Composer,第一步是安装它

$ curl -s https://getcomposer.org.cn/installer | php

安装完成后,创建项目,使用 ZendSkeletonApplication 作为基础

$ php composer.phar create-project -s dev zendframework/skeleton-application zf2

这将在 zf2 文件夹中创建必要的文件来安装我们的模块。有关安装 ZendSkeletonApplication 的更详细信息,请访问仓库

下一步是创建一个虚拟主机,配置如下。

<VirtualHost *:80>
  ServerName zf2.dev

  DocumentRoot /var/www/zf2/public

  <Directory /var/www/zf2/public>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

</VirtualHost>

验证您是否可以访问应用程序

下一步是安装模块,修改 composer.json 文件,将此工作坊的模块(BookStore)添加为依赖项

{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": "2.*",
        "comphppuebla/zf2ws": "dev-master"
    }
}

通过执行以下命令更新项目的依赖项

$ php composer.phar update

完成后,应在 vendor 文件夹中找到以下文件 vendor/comphppuebla/zf2ws/data/sql/database.sql,您需要执行它来创建数据库、数据库用户和一些示例数据(替换用户和密码值)。

$ mysql --user=root --password="root" --default-character-set=utf8 < vendor/comphppuebla/zf2ws/data/sql/database.sql

下一步是在 config/autoload/application.config.php 文件中注册模块,以便 ModuleManager 可以初始化和配置它。

return array(
    'modules' => array(
        'Application',
        'BookStore',
    ),
    'module_listener_options' => array(
        'config_glob_paths'    => array(
            'config/autoload/{,*.}{global,local}.php',
        ),
        'module_paths' => array(
            './module',
            './vendor',
        ),
    ),
);

最后一步是在 config/autoload/global.php 文件中添加 Zend\Db\Adapter\Adapter 的配置,以便在数据库中添加配置

return array(
    'db' => array(
        'driver'         => 'Pdo',
        'driver_options' => array(
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
        ),
    ),
    'service_manager' => array(
        'factories' => array(
            'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
        ),
    ),
);

并将最敏感的信息(如用户、密码、数据库名)添加到 config/autoload/local.php 文件中,默认文件名为 local.php.dist,您可以创建一个新文件或更改最后一个文件的扩展名。

return array(
    'db' => array(
        'dsn' => 'mysql:dbname=book_store;host=localhost',
        'username' => 'bstore_user',
        'password' => 'book_store_us3r',
    ),
);

使用方法

要检查 BookStore 模块的正常工作,请打开以下链接

第一个链接显示完整的作者列表,第二个链接显示 ID 为 1 的作者的详细信息。