jobapis / jobs-common
使您的应用程序与职位API提供商集成变得简单。
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ~6.0
Requires (Dev)
- dunglas/php-schema: 0.4.*
- mockery/mockery: >=0.9.4
- phpunit/php-code-coverage: ~2.0
- phpunit/phpunit: >=4.6
- squizlabs/php_codesniffer: ~2.0
This package is auto-updated.
Last update: 2024-09-16 23:17:55 UTC
README
标准化职位板API客户端
本软件包使将职位板API集成到您的应用程序变得简单。无论您是想聚合职位板数据,还是想用第三方提供商的职位列表补充您网站的职位列表,或者您能想到的其他任何事情,本软件包(以及下面的API客户端)都可以帮助您。
本软件包符合 PSR-1、PSR-2、PSR-4 和 PSR-7 标准。如果您发现任何符合性问题,请通过拉取请求发送补丁。
要求
以下版本的PHP得到支持。
- PHP 5.5
- PHP 5.6
- PHP 7.0
- HHVM
使用方法
本软件包不是单独使用的,而是由以下列出的提供商使用来访问职位板API并收集标准数据格式化的结果。有关创建您自己的职位板提供商的详细信息,请继续阅读!
提供商
每个受支持的职位板都有一个必须扩展此软件包的 AbstractProvider 并实现声明的抽象方法的提供商。
以下提供商可用
官方提供商
我们支持许多官方的职位板服务。
第三方提供商
如果您想支持其他提供商,请将其作为Composer软件包提供,然后在以下链接中引用它们。
这些提供商允许与 jobs-common
不支持的提供商集成。它们可能需要较旧版本,因此如果您注意到这一点,请通过拉取请求帮助它们。
构建您自己的提供商
可以通过克隆现有软件包的布局来创建新的提供商。当选择软件包名称时,请不要使用 joabpis
供应商前缀,因为这表示它是官方支持的。
您应使用自己的用户名作为供应商前缀,并在软件包名称前添加 jobs-
以清楚地说明您的软件包与 Jobs Common 兼容。例如,如果您的 GitHub 用户名是 prometheus,并且您正在实现 Dice.com 职位列表API,那么一个好的Composer软件包名称将是 prometheus/jobs-dice
。
实现自己的提供商
如果您正在使用的是不支持或由现有软件包支持的职位板服务,实现自己的非常简单。只需扩展 JobApis\Jobs\Client\Providers\AbstractProvider
和 JobApis\Jobs\Client\Queries\AbstractQuery
并在每个中实现所需的抽象方法即可。
// JobApis\Jobs\Client\Providers\AbstractProvider abstract public function createJobObject($payload); abstract public function getDefaultResponseFields(); abstract public function getListingsPath(); // JobApis\Jobs\Client\Queries\AbstractQuery abstract public function getBaseUrl(); abstract public function getKeyword();
这些抽象方法中的每个都包含一个docblock,定义了它们的期望和典型行为。扩展这些类后,您可以简单地遵循上面的示例,使用您新的 Provider
。
创建的每个职位对象将自动设置 source
和 query
,基于传递给提供商的准则。如果您想自定义此 source
值,您的提供商必须实现一个返回标识提供商源的字符串的 getSource
方法。
以下为每个具体类需要实现的示例,请参阅本仓库中的 /tests/fixtures
文件夹。
使您的提供者正式化
如果您想将您的提供者转移到 jobapis
GitHub 组织并将它添加到官方支持的提供者列表中,请在 jobapis/jobs-common 包上提交一个 pull request。在新的提供者被接受之前,它们必须拥有 100% 的单元测试代码覆盖率,并遵循其他 Jobs Client 提供者使用的约定和代码风格。
安装
通过 Composer
$ composer require jobapis/jobs-common
测试
$ ./vendor/bin/phpunit
贡献
有关详细信息,请参阅 CONTRIBUTING。
致谢
许可证
Apache 2.0。有关更多信息,请参阅 许可证文件。