jobbrander / jobs-common
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: 2021-12-16 17:30:24 UTC
README
标准化工作板API客户端
此软件包使您能够轻松将工作板API集成到您的应用程序中。无论您是想聚合工作板数据,还是想通过第三方提供商补充您网站的职位列表,或任何其他您能想到的事情,此软件包(以及以下列出的API客户端)都可以帮助您。
此软件包符合PSR-1、PSR-2、PSR-4和PSR-7规范。如果您发现不符合规范的地方,请通过pull request发送补丁。
要求
以下版本的PHP受支持。
- PHP 5.5
- PHP 5.6
- PHP 7.0
- HHVM
使用方法
此软件包不打算单独使用,而是由以下列出的提供商使用,以访问工作板API并以标准数据格式收集结果。有关创建自己的工作板提供商的详细信息,请继续阅读!
提供商
每个支持的工作板都有一个必须扩展此软件包的AbstractProvider并实现声明的抽象方法。
以下提供商可用
官方提供商
我们支持许多官方的工作板服务。
网关 | Composer软件包 | 维护者 |
---|---|---|
Authentic Jobs | jobapis/jobs-authenticjobs | Steven Maguire |
CareerBuilder | jobapis/jobs-careerbuilder | Karl Hughes |
Careercast | jobapis/jobs-careercast | Karl Hughes |
Dice | jobapis/jobs-dice | Karl Hughes |
Elance | jobapis/jobs-elance | Steven Maguire |
Github Jobs | jobapis/jobs-github | Steven Maguire |
政府 | jobapis/jobs-govt | Karl Hughes |
Indeed | jobapis/jobs-indeed | Steven Maguire |
Jobs2Careers | jobapis/jobs-jobs2careers | Karl Hughes |
Muse | jobapis/jobs-muse | Karl Hughes |
JuJu | jobapis/jobs-juju | Karl Hughes |
SimplyHired | jobapis/jobs-simplyhired | Karl Hughes |
ZipRecruiter | jobapis/jobs-ziprecruiter | Karl Hughes |
第三方提供商
如果您想支持其他提供商,请将其作为Composer软件包提供,然后在下面链接到它们。
这些提供程序允许与由jobs-common
不支持的其他提供程序集成。它们可能需要较旧版本,如果您注意到这种情况,请通过拉取请求帮助他们。
网关 | Composer软件包 | 维护者 |
---|---|---|
Job Crank | yourname/jobs-jobcrank | 你! |
构建自己的提供程序
可以通过克隆现有包的布局来创建新提供程序。在为您的包选择名称时,请不要使用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包提交拉取请求。在新的提供程序被接受之前,它们必须拥有100%的单元测试代码覆盖率,并遵循其他Jobs Client提供程序使用的约定和代码风格。
安装
通过Composer
$ composer require jobapis/jobs-common
测试
$ ./vendor/bin/phpunit
贡献
请参阅CONTRIBUTING以获取详细信息。
致谢
许可证
Apache 2.0。请参阅许可证文件以获取更多信息。