codenamephp / prototype.web.expressive
此包已被废弃,不再维护。没有建议替代包。
dev-master
2020-08-18 20:02 UTC
Requires
- php: ^5.6 || ^7.0
- codenamephp/platform.core: *
- codenamephp/platform.di: *
- codenamephp/prototype.utils: ^1.0
Requires (Dev)
This package is auto-updated.
Last update: 2020-08-18 20:02:45 UTC
README
使用 Zend Expressive 作为 PSR-7 中间件和 codenamephp/platform.di 作为依赖容器和主要配置机制的 Web 项目原型。包含构建、composer.json、基本项目文件夹结构等。交互式安装程序消除了传递命令行参数或进行自定义配置的需求。
使用方法
- 使用 composer 安装原型
composer create-project "codenamephp/prototype.web.expressive" projectFolder ["version"] [--no-dev]
- 遵循屏幕上的说明
- 检查 composer.json 中的依赖版本并执行 composer update
- 在 Netbeans 中打开并高效工作 :)
非交互模式
安装程序也可以在非交互模式下运行。您可以在安装程序执行之前,将所有需要提供的答案放在一个序列化的数组中,并将该数组放入根目录下的 answers.serialized
中。这可以用于在事先获得所有答案的 Web 客户端等。
composer create-project "codenamephp/prototype.web.expressive" projectFolder ["version"] [--no-dev] -n php -r "file_put_contents('projectFolder/answers.seralized', serialize(['question key' => 'answer']);" cd projectFolder composer run-script post-create-project-cmd
注意在运行 create-project
命令时使用 -n
。这将安装程序置于非交互模式。如果您不这样做,它将期望从命令行获取答案,而不是查找文件。
需要设置以下问题键
- vendor:包的供应商
- displayName:包的可读名称
- componentName:包名称
- namespace:项目的基命名空间
文件夹结构
├── build
│ ├── phpcomp.xml
│ ├── phpcs.xml
│ ├── phpdox.xml
│ ├── phpmd.xml
│ └── phpunit.xml
├── build.xml
├── CHANGELOG.md
├── composer.json
├── Jenkinsfile
├── LICENSE
├── README.md
├── src
│ ├── main
│ │ └── php
│ │ └── your
│ │ └── namespace
│ │ └── structure
│ │ ├── action
│ │ │ └── HomePageAction.php
│ │ ├── config
│ │ │ ├── ContainerBuilder.php
│ │ │ └── definitions
│ │ │ ├── *.{global,local}.php
│ │ ├── data
│ │ ├── public
│ │ │ ├── assets
│ │ │ └── index.php
│ │ └── templates
│ │ ├── app
│ │ │ └── home-page.html.twig
│ │ ├── error
│ │ │ ├── 404.html.twig
│ │ │ └── error.html.twig
│ │ └── layout
│ │ └── default.html.twig
│ └── test
│ └── php
│ ├── your
│ │ └── namespace
│ │ └── structure
│ │ └── action
│ │ └── HomePageActionTest.php
│ └── phpunit.xml.dist
└── vendor
- 构建文件夹包含 Jenkins 的配置
- 所有源文件都位于 src/main/php 下,后面跟着命名空间结构
- actions 文件夹包含路由目标(相当于控制器)的可调用对象
- config 文件夹包含一个 ContainerBuilder,它将定义文件夹下的所有定义添加进来。包含顺序是:
- 包含 global.php 文件
- 包含所有 *.global.php 文件
- 包含 local.php 文件
- 包含所有 *.local.php 文件 这样,所有全局配置都可以被 *.local.php 文件覆盖,而这些文件被版本控制系统忽略,因此您可以为本地环境设置配置。