technobureau / laminas
Laminas MVC 框架应用骨架
Requires
- php: ^7.3 || ~8.0.0
- laminas/laminas-cache: ^2.11.1
- laminas/laminas-cli: ^1.1.1
- laminas/laminas-component-installer: ^2.4
- laminas/laminas-db: ^2.12.0
- laminas/laminas-development-mode: ^3.2
- laminas/laminas-di: ^3.2.2
- laminas/laminas-json: ^3.2
- laminas/laminas-log: ^2.13.1
- laminas/laminas-mvc: ^3.1.1
- laminas/laminas-mvc-form: ^1.1.0
- laminas/laminas-mvc-middleware: ^2.0.0
- laminas/laminas-mvc-plugins: ^1.1.0
- laminas/laminas-session: ^2.10.0
- laminas/laminas-skeleton-installer: ^0.3
This package is auto-updated.
Last update: 2024-09-17 16:45:25 UTC
README
简介
这是一个使用 Laminas MVC 层和模块系统的骨架应用。此应用旨在作为那些想要开始尝试 Laminas MVC 的人的起点。
使用 Composer 安装
创建新的 Laminas MVC 项目的最简单方法是使用 Composer。如果您尚未安装它,请按照文档进行安装。
创建您的新的 Laminas MVC 项目
$ composer create-project -sdev laminas/laminas-mvc-skeleton 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
这将启动 CLI 服务器,端口号为 8080,并绑定到所有网络接口。您可以通过访问 https://:8080/
- 来查看 Laminas MVC 骨架欢迎页面。
注意:内置的 CLI 服务器仅适用于开发。
开发模式
骨架默认包含 laminas-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
-less 复制进行匹配更新。
运行单元测试
要运行提供的骨架单元测试,您需要执行以下操作之一
-
在创建初始项目时,选择安装 MVC 测试支持。
-
在创建初始项目后,安装 laminas-test
$ composer require --dev laminas/laminas-test
一旦有了测试支持,您可以使用以下命令运行测试
$ ./vendor/bin/phpunit
如果您需要为 PHPUnit 测试设置进行本地修改,请将 phpunit.xml.dist
复制到 phpunit.xml
并编辑新文件;后者在运行测试时优先于前者,并且被版本控制忽略。(如果您想永久修改,请编辑 phpunit.xml.dist
文件。)
运行 Psalm 静态分析
要运行提供的骨架静态分析,您需要执行以下操作之一:建议安装来自 laminas 的测试组件(laminas/laminas-test),因为这是在提供的测试中使用的。
$ composer require --dev vimeo/psalm psalm/plugin-phpunit laminas/laminas-test
一旦有了 psalm 支持,您可以使用以下命令运行静态分析
$ composer static-analysis
使用 Vagrant
此骨架包含一个基于 ubuntu 18.04(bento box)的 Vagrantfile
,已配置 Apache2 和 PHP 7.3。启动它
$ vagrant up
一旦构建完成,您还可以在虚拟机中运行 composer。例如,以下命令将安装依赖项
$ vagrant ssh -c 'composer install'
这将更新它们
$ vagrant ssh -c 'composer update'
运行时,Vagrant 将您的宿主机的 8080 端口映射到虚拟机的 80 端口;您可以通过访问 https://:8080/
Vagrant 和 VirtualBox
虚拟机镜像基于 bento/ubuntu-18.04。如果您使用 VirtualBox 作为提供者,您将需要
- Vagrant 2.2.6 或更高版本
- VirtualBox 6.0.14 或更高版本
有关 Vagrant 文档,请参阅 vagrantup.com
使用 docker-compose
此框架提供了一个用于与 docker-compose 一起使用的 docker-compose.yml
文件;它使用提供的 Dockerfile
来构建用于 laminas
容器的 docker 镜像。
使用以下命令构建并启动镜像和容器:
$ docker-compose up -d --build
此时,您可以通过访问 https://:8080 来查看正在运行的站点。
您还可以在容器中运行如 composer
之类的命令。容器环境名为 "laminas",因此您需要将该值传递给 docker-compose run
$ docker-compose run laminas composer install
一些 composer 包可选地使用额外的 PHP 扩展。
Dockerfile 包含一些已注释的命令,这些命令启用了一些流行的 PHP 扩展。例如,为了为 laminas/laminas-db
安装 pdo-pgsql
支持,取消注释以下行
# RUN apt-get install --yes libpq-dev \ # && docker-php-ext-install pdo_pgsql
然后重新运行上述的 docker-compose up -d --build
行。
您可能还希望稍后结合各种
apt-get
和docker-php-ext-*
语句,以减少您镜像创建的层数。
Web 服务器设置
Apache 设置
要设置 Apache,创建一个虚拟主机指向项目的 public/ 目录,然后您应该可以启动了!它看起来可能如下所示
<VirtualHost *:80> ServerName laminasapp.localhost DocumentRoot /path/to/laminasapp/public <Directory /path/to/laminasapp/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/laminasapp.localhost.conf
下为您的项目创建一个虚拟主机配置文件,它应该看起来如下所示
server { listen 80; server_name laminasapp.localhost; root /path/to/laminasapp/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/laminasapp/public/index.php; include fastcgi_params; } }
重新启动 Nginx,现在您应该可以启动了!
QA 工具
默认情况下,此框架不附带任何 QA 工具,但它为每个工具都提供了配置
此外,它还为提供的 Application\Controller\IndexController
提供了一些基本测试。
如果您想添加这些 QA 工具,请执行以下操作
$ composer require --dev squizlabs/php_codesniffer laminas/laminas-test
我们在 Composer 配置中为这些工具提供了别名
# Run CS checks: $ composer cs-check # Fix CS errors: $ composer cs-fix # Run PHPUnit tests: $ composer test