pacificnm / application
核心应用
Requires
- pacificnm/pacificnm-acl: dev-master
- pacificnm/pacificnm-acl-resource: dev-master
- pacificnm/pacificnm-acl-role: dev-master
- pacificnm/pacificnm-action: dev-master
- pacificnm/pacificnm-admin: dev-master
- pacificnm/pacificnm-auth: dev-master
- pacificnm/pacificnm-config: dev-master
- pacificnm/pacificnm-controller: dev-master
- pacificnm/pacificnm-cron: dev-master
- pacificnm/pacificnm-history: dev-master
- pacificnm/pacificnm-install: dev-master
- pacificnm/pacificnm-log: dev-master
- pacificnm/pacificnm-mapper: dev-master
- pacificnm/pacificnm-menu: dev-master
- pacificnm/pacificnm-menu-item: dev-master
- pacificnm/pacificnm-module: dev-master
- pacificnm/pacificnm-page: dev-master
- pacificnm/pacificnm-update: dev-master
- zendframework/zendframework: ~2.5
This package is not auto-updated.
Last update: 2024-09-23 15:41:02 UTC
README
简介
这是一个使用 PacificNM 层和模块系统的骨架应用。此应用旨在作为那些想要入门 PacificNM 的用户的起点。
使用 Composer 安装
创建新的 PacificNM 项目的最简单方法是使用 Composer。如果您还没有安装它,请按照文档进行安装。
创建您的新的 PacificNM 项目
$ composer create-project -sdev pacificnm/skeleton-application path/to/install
安装后,您可以使用 PHP 内置的 Web 服务器立即进行测试
$ cd path/to/install $ php -S 0.0.0.0:8080 -t public/ public/index.php # OR use the composer alias: $ composer serve
这将在 8080 端口启动 cli-server,并将其绑定到所有网络接口。然后您可以通过 https://:8080/ 访问网站
- 这将显示 PacificNM 欢迎页面。
注意: 内置的 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 pacificnm/zend-test
一旦存在测试支持,您可以使用以下命令运行测试
$ ./vendor/bin/phpunit
如果您需要为 PHPUnit 测试设置进行本地修改,将 phpunit.xml.dist
复制到 phpunit.xml
并编辑新文件;后者在运行测试时具有优先级,并被版本控制忽略。(如果您想永久修改,请编辑 phpunit.xml.dist
文件。)
使用 Vagrant
此骨架包含一个基于 ubuntu 16.04 的 Vagrantfile
,并使用 ondrej/php PPA 提供 PHP 7.0。使用以下命令启动
$ vagrant up
构建完成后,您还可以在虚拟机中运行 composer。例如,以下命令将安装依赖项
$ vagrant ssh -c 'composer install'
这将更新它们
$ vagrant ssh -c 'composer update'
在运行时,Vagrant 将您的宿主机的 8080 端口映射到虚拟机的 80 端口;您可以通过 https://:8080/ 访问网站
Vagrant 和 VirtualBox
虚拟机镜像基于 ubuntu/xenial64。如果您使用 VirtualBox 作为提供程序,则需要
- Vagrant 1.8.5 或更高版本
- VirtualBox 5.0.26 或更高版本
关于Vagrant文档,请参阅vagrantup.com
使用docker-compose
此骨架提供了一个用于与docker-compose一起使用的docker-compose.yml
文件;它使用提供的Dockerfile
作为其基础。使用以下命令构建并启动镜像
$ docker-compose up -d --build
此时,您可以访问https://: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指令,如果它尚未存在。
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工具,但为每个工具提供了配置
此外,它还包括对 shipped Application\Controller\IndexController
的一些基本测试。
如果您想添加这些QA工具,请执行以下操作
$ composer require --dev phpunit/phpunit squizlabs/php_codesniffer pacificnm/zend-test
我们在Composer配置中为这些工具提供了别名。
# Run CS checks: $ composer cs-check # Fix CS errors: $ composer cs-fix # Run PHPUnit tests: $ composer test