davebrend / recruitis-api-project
Recruitis API 包
v1.4.1
2024-06-18 19:01 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: *
- nesbot/carbon: ^3.5
- symfony/framework-bundle: v7.1.*
- symfony/yaml: ^7.1
Requires (Dev)
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^9.6
- roave/security-advisories: dev-latest
- symfony/test-pack: ^1.1
README
欢迎使用 Recruitis API 项目!该项目设计为 composer 包,以便集成到 Symfony 项目中,提供与 Recruitis 平台交互的强大 API 客户端。以下是一份全面的指南,介绍如何设置、使用和扩展此包。
目录
安装
要安装 Recruitis API 包,请使用 Composer
composer require davidbrend/recruitis-api-project
这将把包添加到您的 Symfony 项目中,使其可用。
配置
安装后,通过设置必要的环境变量来配置包。这些通常包括 API 凭证和端点 URL。在您的 .env
文件中添加以下内容
RECRUITIS_API_TOKEN=your_api_token
services.yaml
文件中的定义
parameters:
recruitis-api-token: '%env(RECRUITIS_API_TOKEN)%'
recruitis_api:
api_token: '%recruitis-api-token%'
最后定义添加到 bundle.php
文件中
Davebrend\RecruitisApiProject\RecruitisApiProject::class => ['all' => true]
使用
以下是如何在您的 Symfony 项目中使用 Recruitis API 客户端的一个简单示例
use Davebrend\RecruitisApiProject\Clients\Query; use Davebrend\RecruitisApiProject\Facades\JobFacade; use GuzzleHttp\Exception\GuzzleException; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class HomepageController extends AbstractController { #[Route('/', 'homepage')] public function homepage(JobFacade $jobFacade): Response { $query = new Query(); // query parameters same as API $jobs = $jobFacade->getJobsByQuery($query); return $this->render('default/homepage.html.twig'); } }
目录结构
项目目录结构如下
- src/
- Base/: 包含基本类和实用工具。
- Client/: 包含 API 客户端类。
- Configs/: 设置客户端的配置类。
- DI/: 与依赖注入相关的类。
- Dtos/: 用于处理 API 数据的数据传输对象。
- Enums/: 包中使用的枚举。
- Facades/: 简化与客户端交互的包装。
- Factories/: 初始化 .env 数据到包的工厂类。
- Services/: 处理业务逻辑的服务类。
- RecruitisApiProject.php: 项目的主体类。
测试
该项目使用 PHPUnit 进行测试。要运行测试,请使用以下命令
vendor/bin/phpunit
或
composer run run-tests
PHPUnit 的配置在 phpunit.xml
中提供,指定测试目录和覆盖率设置。