stagem / zf-skeleton
基于 Zend Framework 中间件的 Stagem 骨架应用程序
Requires
- php: ^5.6 || ^7.0
- components/bootstrap-datetimepicker: dev-master
- components/jquery: ~2.2
- components/jqueryui: ~1.12
- doctrine/annotations: @stable
- doctrine/doctrine-orm-module: ^2.1
- doctrine/migrations: @stable
- fig/http-message-util: ^1.1
- gedmo/doctrine-extensions: ^2.4
- http-interop/http-middleware: ^0.5.0
- leafo/scssphp: ^0.7
- ocramius/proxy-manager: ^2.2
- phpoffice/phpexcel: ~1.7
- popov/db: dev-master
- popov/zfc-block: dev-master
- popov/zfc-core: dev-master
- popov/zfc-current: dev-master
- popov/zfc-data-grid: dev-master
- popov/zfc-data-grid-plugin: dev-master
- popov/zfc-db: dev-master
- popov/zfc-entity: dev-master
- popov/zfc-fields: dev-master
- popov/zfc-form: dev-master
- popov/zfc-layout: dev-master
- popov/zfc-mail: dev-master
- popov/zfc-permission: dev-master
- popov/zfc-role: dev-master
- popov/zfc-simpler: dev-master
- popov/zfc-tab: dev-master
- popov/zfc-user: dev-master
- ppito/zf3-whoops: ^1.3
- psr/http-message: ^1.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- stagem/zfc-action: dev-master
- stagem/zfc-admin: dev-master
- stagem/zfc-cron: dev-master
- stagem/zfc-lang: dev-master
- stagem/zfc-layout: dev-master
- stagem/zfc-listener: dev-master
- stagem/zfc-menu: dev-master
- stagem/zfc-pool: dev-master
- stagem/zfc-status: dev-master
- stagem/zfc-system-config: dev-master
- symfony/yaml: ^4.0
- twbs/bootstrap: ^3.3
- twbs/bootstrap-sass: ^3.3
- webimpress/http-middleware-compatibility: ^0.1.4
- widmogrod/zf2-assetic-module: dev-router-merge
- zendframework/zend-component-installer: ^1.0 || ^0.7 || ^1.0.0-dev@dev
- zendframework/zend-db: ^2.9
- zendframework/zend-i18n: ^2.8
- zendframework/zend-mvc: ^3.0.1
- zendframework/zend-mvc-console: ^1.2
- zendframework/zend-mvc-plugin-flashmessenger: ^1.1
- zendframework/zend-navigation: ^2.9
- zendframework/zend-permissions-acl: ^2.7
- zendframework/zend-psr7bridge: ^1.0
- zendframework/zend-serializer: ^2.9
- zendframework/zend-stratigility: ^2.0
- zfc-datagrid/zfc-datagrid: dev-expressive
- zfcampus/zf-development-mode: ^3.0
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
安装后过程
- 创建数据库并创建/编辑
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', ], ];
- 为资产(js、css、媒体)创建目录
$ mkdir -p public/assets
- 准备迁移的 diff 并执行它们
$ mkdir -p data/DoctrineORMModule/Migrations $ php public/index.php migrations:diff $ php public/index.php migrations:migrate
- 准备项目的实体
$ php public/index.php entity sync
- 准备管理员用户
$ 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
访问管理员区域
密码: 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