PHP 文件结构示例。


README

PHP Sceleto

欢迎使用 PHP Sceleto

用于我库的 PHP 目录结构。

license

PHP Sceleto 是一个针对创建 PHP 库的目录结构模板。它提供了一个组织良好的框架,我使用它来开发我的 PHP 库项目,并决定与社区分享。这个模板旨在简化 PHP 库的开发,节省您在初始设置和配置上的时间。

特性

  • 为您的 PHP 库提供组织良好的目录结构
  • 包括常见的项目文件,如 .editorconfig.gitignore.htaccess
  • 附带示例 composer.json 以便于 Composer 集成。
  • 包括示例 PHPUnit 配置文件 phpunit.xml.dist
  • 开源项目的许可和贡献指南。

目录结构

your-php-library/
│
├──┬ src/
│  │  ├─── [SomeClass].php
│  │  ├─── [AnotherClass].php
│  │  ├─── ...
│  │
│  └ tests/
│     ├─── [SomeClass]Test.php
│     ├─── [AnotherClass]Test.php
│     ├─── ...
│
├─── logs/
├─── docs/
├─── vendor/
├─── .editorconfig
├─── .gitignore
├─── .htaccess
├─── composer.json
├─── composer.lock
├─── phpunit.xml.dist
├─── LICENSE
├─── CONTRIBUTING.md
└─── README.md

文件和文件夹

文件和文件夹概述。

入门指南

按照以下步骤将 PHP Sceleto 作为您的 PHP 库起点

步骤 1 - 使用 Composer 创建新项目

composer create-project SandroMiguel/php-sceleto your-php-library

your-php-library 替换为您期望的名称

现在,您拥有一个干净的起点来独立开发您的 PHP 库。您可以在提供的目录结构中添加自己的代码、配置和文档。

步骤 2 - 奖励:继续项目设置

如果您希望进一步改进项目并遵循最佳实践,请考虑使用 Some Awesome Project 继续您的项目设置。Some Awesome Project 提供了一系列指南和附加配置,可以使您的项目开发更加高效。

Composer 命令

您可以使用 Composer 命令来简化各种开发任务。以下是可用的命令及其运行方法

检查过时依赖项

要检查项目中直接定义的过时 Composer 依赖项,请运行

composer outdated:direct

运行 PHP CodeSniffer

要运行位于 src/php 目录中的源代码的 PHP CodeSniffer,请使用以下命令

composer phpcs

运行特定文件的 PHP CodeSniffer

要运行特定文件的 PHP CodeSniffer,请使用以下命令,将 [file] 替换为目标文件的路径

composer phpcs:file [file]

分析代码质量和架构

要使用 PHP Insights 分析代码质量和架构,请运行

composer phpinsights

生成 PHP 指标报告

使用以下命令生成 PHP 指标报告并显示 Node.js 版本

composer phpmetrics

运行 PHPStan 分析

要使用 PHPStan 在 src/php 目录中的源代码上进行分析(级别 7),请使用

composer phpstan

运行 Psalm 静态分析

要运行 Psalm 静态分析,请简单使用

composer psalm

跟踪应用程序日志

要跟踪位于 ./storage/log/app.log 的应用程序日志,请使用

composer logs

运行 PHPUnit 测试

要运行 PHPUnit 测试,请执行

composer test

要执行具有过滤的 PHPUnit 测试,请执行

composer test:filter methodName ClassName path/to/file.php

运行带有覆盖率报告的 PHPUnit 测试

要运行 PHPUnit 测试并生成 log/report 目录中的覆盖率报告,请使用

composer test:coverage

致谢

贡献

想要贡献?所有贡献都欢迎。阅读贡献指南

问题

如果您有问题,请通过@sandro_m_m发推文或新建一个问题

变更日志

查看CHANGELOG.md

许可协议

本项目采用MIT许可协议 - 有关详细信息,请参阅LICENSE文件。

**~ 分享就是关爱 ~**