Super Expressive PHP 项目教程
1. 项目的目录结构及介绍
super-expressive-php/
├── src/
│ └── 包含项目的核心代码文件
├── tests/
│ └── 包含项目的测试代码文件
├── github/workflows/
│ └── 包含GitHub Actions的工作流配置文件
├── composer.json
│ └── 项目的依赖管理文件
├── phpunit.xml.dist
│ └── PHPUnit的配置文件
├── psalm.xml
│ └── Psalm的静态分析配置文件
├── .editorconfig
│ └── 编辑器配置文件
├── .gitattributes
│ └── Git属性配置文件
├── .gitignore
│ └── Git忽略配置文件
├── LICENSE
│ └── 项目许可证文件
├── README.md
│ └── 项目说明文件
2. 项目的启动文件介绍
项目的启动文件主要是通过Composer进行自动加载。在composer.json
文件中配置了自动加载规则:
"autoload": {
"psr-4": {
"Bassim\\SuperExpressive\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Bassim\\SuperExpressive\\Tests\\": "tests/"
}
}
通过这些配置,项目中的类文件可以被自动加载。
3. 项目的配置文件介绍
composer.json
composer.json
文件包含了项目的依赖管理信息:
{
"name": "bassim/super-expressive-php",
"type": "library",
"description": "A PHP port of https://github.com/francisrstokes/super-expressive",
"keywords": [
"bassim",
"regex",
"regexp",
"super-expressive"
],
"homepage": "https://github.com/bassim/super-expressive-php",
"license": "MIT",
"authors": [
{
"name": "Bas Simons",
"email": "bassim@xs4all.nl",
"role": "Developer"
}
],
"require": {
"php": "^7.4|^8.0"
},
"require-dev": {
"phpunit/phpunit": "^8.0",
"vimeo/psalm": "^3.12"
},
"config": {
"sort-packages": true
},
"autoload": {
"psr-4": {
"Bassim\\SuperExpressive\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Bassim\\SuperExpressive\\Tests\\": "tests/"
}
},
"scripts": {
"test": "vendor/bin/phpunit --colors=always",
"test-coverage": "vendor/bin/phpunit --coverage-html coverage"
},
"support": {
"issues": "https://github.com/bassim/super-expressive-php/issues",
"source": "https://github.com/bassim/super-expressive-php",
"docs": "https://github.com/bassim/super-expressive-php"
}
}
phpunit.xml.dist
phpunit.xml.dist
文件是PHPUnit的配置文件,用于配置测试环境:
<phpunit>
<!-- 配置内容 -->
</phpunit>
psalm.xml
psalm.xml
文件是Psalm的静态分析配置文件,用于代码质量检查:
<psalm>
<!-- 配置内容 -->
</psalm>
通过这些配置文件,可以确保项目的依赖管理、测试和代码质量检查都能顺利进行。