laminas/laminas-mvc-skeleton

Laminas MVC 框架应用骨架

资助包维护!
社区桥梁

安装: 60,089

依赖者: 0

建议者: 0

安全: 0

星标: 171

关注者: 32

分支: 63

开放问题: 9

类型:项目

2.3.0 2024-01-08 18:03 UTC

README

🇷🇺 俄罗斯公民

我们,Laminas 的成员,来自不同的国家。我们中的许多人都有在俄罗斯和乌克兰的朋友、亲属和同事。我们中的一些人出生在俄罗斯。我们中的一些人目前住在俄罗斯。我们中的一些人的祖父母曾在第二次世界大战中与法西斯作战。在这里,没有人支持法西斯主义。

我们中的一位成员有一位乌克兰亲属,她与儿子一起逃离了家园。火车因前方道路上的轰炸而延误。我们有一些朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,空袭无差别地攻击医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些的。这是我们的亲身经历。

您信任我们足够,以至于使用我们的程序,我们请求您再次信任我们。我们需要帮助。走出家门,抗议这场无益的战争。停止杀戮。说“不战争!”

🇺🇸 致俄罗斯公民

我们在 Laminas 的人来自世界各地。我们中的许多人都在俄罗斯和乌克兰有朋友、家人和同事。我们中的一些人出生在俄罗斯。我们中的一些人目前住在俄罗斯。我们中的一些人的祖父母曾在第二次世界大战中与纳粹作战。在这里,没有人支持法西斯主义。

我们的一位团队成员有一位乌克兰亲属,她和儿子一起逃离了家园。火车因前方道路上的轰炸而延误。我们有一些朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,空袭无差别地攻击医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些的。这是我们的亲身经历。

您信任我们足够,以至于使用我们的软件。我们请求您信任我们说出真相。我们需要您的帮助。走出家门,抗议这场不必要的战争。停止杀戮。说“停止战争!”

介绍

这是一个使用 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 serve

这将在 8080 端口启动 cli-server,并将其绑定到所有网络接口。然后您可以通过 http://localhost: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 的文件副本进行匹配更新。

运行单元测试

要运行提供的骨架单元测试,您需要执行以下操作之一

  • 在项目创建初期,选择安装 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

使用 docker-compose

此骨架提供了用于 docker-composedocker-compose.yml;它使用提供的 Dockerfile 来构建用于 laminas 容器的 docker 镜像。

使用以下命令构建并启动镜像和容器

$ docker-compose up -d --build

此时,您可以通过访问 http://localhost: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-getdocker-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