comcduarte/skeleton-application

Laminas MVC 框架骨架应用程序

安装: 2

依赖: 0

建议: 0

安全性: 0

星级: 0

关注者: 1

分支: 64

类型:项目

1.2.0 2021-06-07 16:25 UTC

This package is auto-updated.

Last update: 2024-09-25 21:55:58 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,并将其绑定到所有网络接口。您然后可以访问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副本进行匹配更新。

运行单元测试

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

  • 在创建初始项目时,选择安装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构建一个用于由docker-compose创建的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-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后,你现在应该可以开始了!

质量保证工具

默认情况下,该框架不附带任何质量保证工具,但为以下每个工具提供了配置:

此外,它还为提供的 Application\Controller\IndexController 提供了一些基本测试。

如果你想要添加这些质量保证工具,请执行以下命令:

$ 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