codeeasy / slim-framework-skeleton
Code Easy 的 Slim 框架骨架
Requires
- php: ^7.4
- ext-json: *
- guzzlehttp/psr7: ^1.6
- http-interop/http-factory-guzzle: ^1.0
- laminas/laminas-diactoros: ^2.3
- nyholm/psr7: ^1.3
- nyholm/psr7-server: ^1.0
- php-di/php-di: ^6.2
- slim/psr7: ^1.1
- slim/slim: 4.*
- twig/twig: ^3.0
- vlucas/phpdotenv: ^5.1
Requires (Dev)
- phpunit/phpunit: ^9.2
- squizlabs/php_codesniffer: ^3.5
- symfony/var-dumper: ^5.2
- vimeo/psalm: ^3.12
This package is auto-updated.
Last update: 2024-09-17 10:09:52 UTC
README
Code Easy 的 Slim 框架骨架
一个简单的方式来开始使用 Slim 框架,同时拥有最基本的需求。
目录表
- 关于
- 项目状态
- 功能
- 先决条件
- 如何运行应用程序/测试
- 下载
1.1. Composer
1.2. Github (手动下载) - 配置
- 执行
3.1. PHP
3.2. Docker - Docker 的提示
- 测试
- 下载
- 使用的技术
- 贡献
- 作者
- 许可证
关于
"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中。
- 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。
UID和GID与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 Up和Ports 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