承接 jobbrander/jobs-common 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jobbrander/jobs-common

最新稳定版本:2.1.2

Composer 安装命令:

composer require jobbrander/jobs-common

包简介

Making it simple to integrate your application with job api providers.

README 文档

README

Standardizing job board API clients

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

This package makes it makes it easy to integrate job board APIs into your application. Whether you want to aggregate job board data, or supplement your site's job listings with listings from third party providers, or anything else you can dream up, this package (and the api clients listed below) can help.

This package is compliant with PSR-1, PSR-2, PSR-4, and PSR-7. If you notice compliance oversights, please send a patch via pull request.

Requirements

The following versions of PHP are supported.

  • PHP 5.5
  • PHP 5.6
  • PHP 7.0
  • HHVM

Usage

This package is not meant to be used on its own, but rather it is used by the providers listed below to access job board APIs and gather results in a standard data format. For details on creating your own job board provider, read on!

Providers

Each job board supported has a provider that must extend this package's AbstractProvider, and implement the declared abstract methods.

The following providers are available:

Official providers

There are many job board services we support officially.

Gateway Composer Package Maintainer
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
Govt 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

Third party providers

If you would like to support other providers, please make them available as a Composer package, then link to them below.

These providers allow integration with other providers not supported by jobs-common. They may require an older version so please help them out with a pull request if you notice this.

Gateway Composer Package Maintainer
Job Crank yourname/jobs-jobcrank You!

Build your own providers

New providers can be created by cloning the layout of an existing package. When choosing a name for your package, please don’t use the joabpis vendor prefix, as this implies that it is officially supported.

You should use your own username as the vendor prefix, and prepend jobs- to the package name to make it clear that your package works with Jobs Common. For example, if your GitHub username were prometheus, and you were implementing the Dice.com job listing API, a good name for your composer package would be prometheus/jobs-dice.

Implementing your own provider

If you are working with a job board service not supported out-of-the-box or by an existing package, it is quite simple to implement your own. Simply extend JobApis\Jobs\Client\Providers\AbstractProvider and JobApis\Jobs\Client\Queries\AbstractQuery and implement the required abstract methods in each:

// 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();

Each of these abstract methods contain a docblock defining their expectations and typical behavior. Once you have extended these classes, you can simply follow the example above using your new Provider.

Each job object that is created will automatically set source and query based on the criteria passed into the provider. If you would like to customize this source value, your provider must implement a getSource method that returns a string to identify your provider's source.

For an example of each of the concrete classes you'll need to implement, see the /tests/fixtures folder in this repository.

Make your provider official

If you want to transfer your provider to the jobapis GitHub organization and add it to the list of officially supported providers, please open a pull request on the jobapis/jobs-common package. Before new providers will be accepted, they must have 100% unit test code coverage, and follow the conventions and code style used in other Jobs Client providers.

Install

Via Composer

$ composer require jobapis/jobs-common

Testing

$ ./vendor/bin/phpunit

Contributing

Please see CONTRIBUTING for details.

Credits

License

The Apache 2.0. Please see License File for more information.

jobbrander/jobs-common 适用场景与选型建议

jobbrander/jobs-common 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.18k 次下载、GitHub Stars 达 38, 最近一次更新时间为 2015 年 04 月 10 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「object」 「jobs」 「api client」 「job boards」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 jobbrander/jobs-common 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 jobbrander/jobs-common 我们能提供哪些服务?
定制开发 / 二次开发

基于 jobbrander/jobs-common 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 4.18k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 38
  • 点击次数: 20
  • 依赖项目数: 5
  • 推荐数: 0

GitHub 信息

  • Stars: 38
  • Watchers: 9
  • Forks: 15
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2015-04-10