codenamephp/prototype.web.expressive

此包已被废弃,不再维护。没有建议替代包。

dev-master 2020-08-18 20:02 UTC

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、基本项目文件夹结构等。交互式安装程序消除了传递命令行参数或进行自定义配置的需求。

使用方法

  1. 使用 composer 安装原型
composer create-project "codenamephp/prototype.web.expressive" projectFolder ["version"] [--no-dev]
  1. 遵循屏幕上的说明
  2. 检查 composer.json 中的依赖版本并执行 composer update
  3. 在 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,它将定义文件夹下的所有定义添加进来。包含顺序是:
    1. 包含 global.php 文件
    2. 包含所有 *.global.php 文件
    3. 包含 local.php 文件
    4. 包含所有 *.local.php 文件 这样,所有全局配置都可以被 *.local.php 文件覆盖,而这些文件被版本控制系统忽略,因此您可以为本地环境设置配置。