codeeasy/slim-framework-skeleton

Code Easy 的 Slim 框架骨架

v0.0.5 2021-01-02 22:42 UTC

This package is auto-updated.

Last update: 2024-09-17 10:09:52 UTC


README

Code Easy 的 Slim 框架骨架

一个简单的方式来开始使用 Slim 框架,同时拥有最基本的需求。

license

目录表

关于

"Code Easy 的 Slim 框架骨架" 是一个使用 Slim 框架的应用程序骨架,旨在提供开发应用程序所需的最小配置,包括:

  • 模板语言;
  • 依赖注入;
  • 自动化测试;
  • 目录结构;
  • Dotenv;
  • 配置了 MVC 架构的项目;
  • 通过 Docker 容器。

注意:由于每种存储类型(如 SQL 数据库、文件、某种类型的 NoSQL 数据库等)都有不同的实现方式,并且一个最小化配置的应用程序或网站可能甚至不需要数据库,因此 MVC 的唯一未实现层是模型层。

项目状态

  • 🚧 自动化测试助手:建设中 🚧
  • ⛔ Slim CSRF:未开始 ⛔
  • ⛔ 贡献指南:未开始 ⛔

功能

  • 使用 PHP Unit 进行自动化测试。测试位于 tests/ 目录中,并在 phpunit.xml 中进行配置;
  • 使用 Psalm 进行代码静态分析;
  • 应用程序内核,所有启动和配置都在 src/Kernel/Server.php 中执行;
  • 服务提供者,使用 PHP-DI 工作并与 src/Kernel/Provider.php 配置,这是在 Slim 框架中执行依赖注入的地方;
  • 中间件位于 src/Http/Middleware 并在 src/Kernel/Middleware.php 中配置;
  • 路由系统在 src/Routes 中构建并在 src/Kernel/Server.php 中调用;
  • 控制器在 src/Http/Controller 中构建并在 src/Routes 中调用;
  • 服务区域(Services)可以为您自己的应用程序构建并通过服务提供者注入;
  • 模板语言 Twig
    • Twig 文件位于 resources/view/ 目录中;
    • Twig 服务及其配置位于 src/Service/Twig 目录中;
    • 在 Twig 服务中已经为您准备好了一个结构来配置自己的 Twig 函数和过滤器;
    • 拥有缓存系统,缓存存储在 cache/twig 中。
  • 可以构建自定义助手并在 config/helpers.php 中使用;
  • 公开目录包含用于 SEO 优化的网站发布准备文件。

先决条件

要使用这个框架,需要满足以下要求

  • PHP 7.4或更高版本;
  • Composer(最好是2.0版本,与本项目创建时使用的版本相同);
  • Docker和Docker Compose(可选)。

如何运行应用程序/测试

1. 下载

注意:如果您的PHP中缺少某些需要安装的模块,则运行composer可能会出现问题。

1.1. Composer

您可以通过以下命令使用composer将框架下载为一个新项目:composer create-project codeeasy/slim-framework-skeleton <项目名称>

您还可以选择一个版本并执行以下命令,例如将v0.0.3替换为您想要的版本:composer create-project "codeeasy/slim-framework-skeleton:v0.0.3" <项目名称>

版本信息可以在以下链接中找到

1.2. Github(手动下载)

访问以下链接

在这里,您将找到项目的所有版本,从最新到最旧,您只需选择一个并下载.zip.tar.gz文件,然后解压缩。

最后,访问解压缩后的目录,并执行命令composer install来安装依赖项。

2. 配置

.env.example文件复制到.env,并根据需要填写必要的数据。

3. 执行

3.1 PHP

如果您打算使用您的机器上安装的PHP,请执行以下命令:php -S 0.0.0.0:<您的端口> -t public,例如php -S 0.0.0.0:8080 -t public,然后使用浏览器访问链接https://:<选择的端口>,如果出现网站,则表示一切准备就绪,现在可以开始编程了。

3.2 Docker

如果您打算使用Docker,请访问dockerfile文件,并修改第4行到第7行的内容。

ARG USER=demo
ARG UID=1000
ARG GID=1000
ARG PW=demo

您可以在这里将USER=demo更改为其他用户名,例如USER=codeeasy,也可以将PW=demo的密码更改为其他密码,例如PW=1234

UIDGID与Linux发行版中的用户ID和组ID相关,如果您正在使用Linux发行版,您可以将您的用户和组ID放入其中以避免文件权限问题。

要找出您的Linux发行版中的用户和组ID,请在终端中执行命令echo $(id -u) $(id -g),然后两个ID都会显示出来。

当然,您也可以输入任何其他ID。

在Windows上,文件系统的工作方式不同,因此您可以输入任何ID或保留默认的1000 1000

然后,您可以访问docker-compose.yml并更改默认的端口8080,如果您想这样做,只需更改以下任一端口为所需的端口即可。

ports:
    - <PORTA-A-SER-ALTERADA>:80

例如,更改为端口8085

ports:
    - 8085:80

您还可以更改容器名称,如下所示

services:
  web:
    build: .
    container_name: <NOME-DO-CONTAINER>

然后执行命令docker-compose up -d来构建镜像和创建容器。

执行命令docker-compose ps来检查容器是否正在运行,如果出现State UpPorts 0.0.0.0:80-><选择的端口>/tcp,则容器正在运行。

最后,在浏览器中访问URL https://:<选择的端口>,如果出现网站,则表示一切准备就绪,现在可以开始编程了。

4. Docker技巧

如果您正在使用docker,请遵循以下命令提示:

  • docker-compose ps:检查在docker-compose.yml文件中指定的容器的状态;
  • docker-compose up -d:如果不存在,则构建dockerfile的镜像,并创建容器;
  • docker-compose build:构建dockerfile的镜像;
  • docker-compose down:销毁在docker-compose.yml中指定的容器;
  • docker-compose stop:停止在docker-compose.yml中指定的容器的执行;
  • docker-compose start:如果容器已经创建,则启动在docker-compose.yml中指定的容器的执行;
  • docker exec -it <CONTAINER-NAME> /bin/bash:使用bash访问特定容器的终端。

5. 测试

5.1 PHP Unit

所有测试都位于tests/目录中。

要执行自动化测试,请运行命令vendor/bin/phpunit

5.2 Psalm

要执行测试,请运行命令vendor/bin/psalm --show-info=true

使用的TECNOLOGIAS

CONTRIBUIÇÃO

AUTOR


Felipe Vieira

Linkedin Badge Gmail Badge