zendframework/skeleton-application

此包已被弃用且不再维护。作者建议使用laminas/laminas-skeleton-installer包代替。

Zend Framework zend-mvc 应用程序的骨架应用程序

安装次数: 268,918

依赖项: 8

建议者: 1

安全: 0

星标: 1,591

关注者: 228

分支: 1,577

开放问题: 4

类型:项目

3.1.3 2019-11-27 19:48 UTC

This package is auto-updated.

Last update: 2019-12-31 22:25:15 UTC


README

仓库弃用 2019-12-31

此仓库已迁移至laminas/laminas-skeleton-installer。

简介

这是一个使用Zend Framework MVC层和模块系统的骨架应用程序。此应用程序旨在作为那些想要尝试使用Zend Framework的人的起点。

使用Composer安装

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

创建您的新的Zend Framework项目

$ composer create-project -sdev zendframework/skeleton-application path/to/install

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

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

这将在端口8080上启动cli-server,并将其绑定到所有网络接口。您可以在http://localhost: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文件。)

使用Vagrant

此骨架包含一个基于ubuntu 16.04(bento box)的Vagrantfile,其中已配置Apache2和PHP 7.0。启动它使用

$ vagrant up

一旦构建完成,您也可以在虚拟机内部运行composer。例如,以下代码将安装依赖项

$ vagrant ssh -c 'composer install'

这将更新它们

$ vagrant ssh -c 'composer update'

运行时,Vagrant将主机端口8080映射到虚拟机的端口80;您可以通过http://localhost:8080/访问网站

Vagrant和VirtualBox

Vagrant镜像基于ubuntu/xenial64。如果您使用VirtualBox作为提供商,您将需要

  • Vagrant 1.8.5或更高版本
  • VirtualBox 5.0.26或更高版本

有关Vagrant文档,请参阅vagrantup.com

使用docker-compose

此骨架提供了一个用于docker-composedocker-compose.yml文件;它使用提供的Dockerfile作为其基础。使用以下命令构建和启动镜像

$ docker-compose up -d --build

此时,您可以通过http://localhost:8080访问网站以查看正在运行的网站。

您还可以从镜像中运行composer。容器环境名称为"zf",因此您需要将该值传递给docker-compose run

$ docker-compose run zf composer install

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 directive,如果它尚未存在

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工具,但为每个工具都提供了配置

此外,它还为提供的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