stagem/zf-skeleton

基于 Zend Framework 中间件的 Stagem 骨架应用程序

dev-master 2019-04-13 18:08 UTC

This package is auto-updated.

Last update: 2024-09-14 06:24:34 UTC


README

介绍

这是一个使用 Zend Framework MVC 或中间件层和模块系统的骨架应用程序。该应用程序旨在作为那些希望开始使用 Zend Framework 和 StageM 生态系统的人的起点。

使用 Composer 安装

创建新的 Zend Framework 项目的最简单方法是使用 Composer。如果您尚未安装,请根据 文档 进行安装。

创建您的新的 Zend Framework 项目

$ composer create-project -sdev stagem/zf-skeleton path/to/install
$ composer update

安装后过程

  1. 创建数据库并创建/编辑 config/parameters.local.php 使用以下配置
return [
    'db' => [
        'database' => 'your_database_name',
        'username' => 'your_user_name',
        'password' => 'your_secret_password',
        'hostname' => '127.0.0.1',
        'port' => 3306,
        'charset' => 'utf8mb4',
        'collate' => 'utf8mb4_unicode_ci',
    ],
];
  1. 为资产(js、css、媒体)创建目录
$ mkdir -p public/assets
  1. 准备迁移的 diff 并执行它们
$ mkdir -p data/DoctrineORMModule/Migrations
$ php public/index.php migrations:diff
$ php public/index.php migrations:migrate
  1. 准备项目的实体
$ php public/index.php entity sync
  1. 准备管理员用户
$ cp vendor/popov/zfc-user/data/Version20180404060817.php data/DoctrineORMModule/Migrations/
$ php public/index.php migrations:execute --up 20180404060817

执行后,控制台显示以下输出,这是正常的

...
Migration 20180404060817 was executed but did not result in any SQL statements.
...

您可以使用 https:///admin 访问管理员区域

登录: storage@stagem.com.ua

密码: 123456

注意。出于安全原因,不要忘记更改默认登录和密码。

安装完成后,您可以使用 PHP 内置的 Web 服务器立即进行测试

$ cd path/to/install
$ php -S 0.0.0.0:8080 -t public/ public/index.php
# OR use the composer alias:
$ composer run --timeout 0 serve

这将在端口 8080 上启动 cli-server,并将其绑定到所有网络接口。然后您可以在 https://:8080/ 访问网站

  • 这将显示 Zend Framework 欢迎页面。

注意:内置的 CLI 服务器仅用于开发。

开发模式

骨架默认附带 zf-development-mode,并提供了三个别名来使用它所提供的脚本

$ composer development-enable  # enable development mode
$ composer development-disable # disable development mode
$ composer development-status  # whether or not development mode is enabled

您可以在 config/development.config.php.dist 中提供仅开发模块和引导级别配置,以及仅开发应用程序配置在 config/autoload/development.local.php.dist 中。启用开发模式将复制这些文件到去除 .dist 后缀的版本,而禁用开发模式将删除这些副本。

开发模式是骨架安装过程的一部分自动启用的。在修改上述 .dist 配置文件之一后,您将需要禁用然后启用开发模式以使更改生效,或者手动对那些没有 .dist 的副本进行匹配更新。

管理员配置

... ...

运行单元测试

要运行提供的骨架单元测试,您需要执行以下操作之一

  • 在创建初始项目时,选择安装 MVC 测试支持。

  • 在创建初始项目后,安装 zend-test

    $ composer require --dev zendframework/zend-test

一旦提供了测试支持,您可以使用以下方式运行测试

$ ./vendor/bin/phpunit

如果您需要对PHPUnit测试设置进行本地修改,请将phpunit.xml.dist复制到phpunit.xml,并编辑新文件;在运行测试时,后者优先于前者,且版本控制会忽略后者。(如果您想永久修改,请编辑phpunit.xml.dist文件。)

Web服务器设置

Apache设置

要设置Apache,请设置一个虚拟主机指向项目的public/目录,您应该可以开始使用了!它应该看起来像下面这样

<VirtualHost *:80>
    ServerName zfapp.localhost
    DocumentRoot /path/to/zfapp/public
    <Directory /path/to/zfapp/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
        <IfModule mod_authz_core.c>
        Require all granted
        </IfModule>
    </Directory>
</VirtualHost>

Nginx设置

要设置Nginx,打开您的/path/to/nginx/nginx.conf文件,并在如果不存在的情况下,在http块下面添加一个include指令

http {
    # ...
    include sites-enabled/*.conf;
}

/path/to/nginx/sites-enabled/zfapp.localhost.conf下为您的项目创建一个虚拟主机配置文件,它应该看起来像下面这样

server {
    listen       80;
    server_name  zfapp.localhost;
    root         /path/to/zfapp/public;

    location / {
        index index.php;
        try_files $uri $uri/ @php;
    }

    location @php {
        # Pass the PHP requests to FastCGI server (php-fpm) on 127.0.0.1:9000
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME /path/to/zfapp/public/index.php;
        include fastcgi_params;
    }
}

重启nginx,现在您应该可以开始使用了!

QA工具

默认情况下,框架不附带任何QA工具,但为每个工具提供了配置

此外,它还包含了一些针对Application\Controller\IndexController的基本测试。

如果您想添加这些QA工具,请执行以下操作

$ composer require --dev phpunit/phpunit squizlabs/php_codesniffer zendframework/zend-test

我们在Composer配置中为这些工具提供了别名

# Run CS checks:
$ composer cs-check
# Fix CS errors:
$ composer cs-fix
# Run PHPUnit tests:
$ composer test