CipherSweet 项目使用教程
1. 项目目录结构及介绍
CipherSweet 项目的目录结构如下:
ciphersweet/
├── .github/
│ └── workflows/
├── src/
├── tests/
├── .gitignore
├── LICENSE
├── README.md
├── autoload-ci.php
├── composer.json
├── phpunit.xml.dist
└── psalm.xml
目录结构介绍
- .github/workflows/:包含 GitHub Actions 的工作流配置文件。
- src/:项目的源代码目录,包含了 CipherSweet 的核心实现。
- tests/:项目的测试代码目录,包含了单元测试和集成测试。
- .gitignore:Git 忽略文件配置,指定了哪些文件或目录不需要被 Git 管理。
- LICENSE:项目的开源许可证文件,CipherSweet 使用的是 ISC 许可证。
- README.md:项目的说明文档,包含了项目的概述、安装方法、使用说明等。
- autoload-ci.php:自动加载配置文件,用于 Composer 的自动加载。
- composer.json:Composer 的配置文件,定义了项目的依赖关系和其他配置。
- phpunit.xml.dist:PHPUnit 的配置文件,用于配置测试环境。
- psalm.xml:静态代码分析工具 Psalm 的配置文件。
2. 项目的启动文件介绍
CipherSweet 项目没有传统意义上的“启动文件”,因为它是一个库项目,而不是一个独立的应用程序。项目的核心功能是通过 src/
目录下的 PHP 类来实现的。
如果你需要使用 CipherSweet,通常会在你的项目中通过 Composer 引入它,并在你的代码中实例化 CipherSweet 的相关类。例如:
require 'vendor/autoload.php';
use ParagonIE\CipherSweet\CipherSweet;
use ParagonIE\CipherSweet\Backend\ModernCrypto;
use ParagonIE\CipherSweet\KeyProvider\StringProvider;
$key = random_bytes(32);
$provider = new StringProvider($key);
$engine = new CipherSweet($provider, new ModernCrypto());
3. 项目的配置文件介绍
CipherSweet 项目的主要配置文件是 composer.json
,它定义了项目的依赖关系、自动加载规则、脚本等信息。
composer.json 文件内容
{
"name": "paragonie/ciphersweet",
"description": "Fast searchable field-level encryption for PHP projects",
"license": "ISC",
"require": {
"php": "^8.1",
"paragonie/constant_time_encoding": "^2.6",
"paragonie/sodium_compat": "^1.17"
},
"require-dev": {
"phpunit/phpunit": "^9.5",
"vimeo/psalm": "^4.22"
},
"autoload": {
"psr-4": {
"ParagonIE\\CipherSweet\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"ParagonIE\\CipherSweet\\Tests\\": "tests/"
}
}
}
配置文件介绍
- name:项目的名称。
- description:项目的描述。
- license:项目的开源许可证。
- require:项目的主要依赖,包括 PHP 版本和第三方库。
- require-dev:开发环境的依赖,包括测试工具和静态代码分析工具。
- autoload:自动加载配置,定义了命名空间与目录的映射关系。
- autoload-dev:开发环境的自动加载配置。
通过这些配置,你可以使用 Composer 安装 CipherSweet,并自动加载项目的类文件。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考