定制 stargrid/laravel-calendario-feriados 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

stargrid/laravel-calendario-feriados

Composer 安装命令:

composer require stargrid/laravel-calendario-feriados

包简介

Pacote desenvolvido e mantido pela StarGrid (https://stargrid.pro) para facilitar a integração com a API (http://www.calendario.com.br/api_feriados_municipais_estaduais_nacionais.php) para a busca de feriados nacionais, estaduais e municipais.

README 文档

README

Build Status

Calendário nacional de feriados.

Este projeto foi iniciado pela StarGrid para ajudar os usuários do Laravel que pretendem integrar seus sistemas com a API http://www.calendario.com.br para busca de feriados nacionais, estaduais e municipais.

Instalação

Para instalar a dependência através do composer, através do terminal, entre na pasta de seu projeto e digite:

$ composer require stargrid/laravel-calendario-feriados:"v2.0.0"

Obs: Caso esteja usando versões inferiores:

$ composer require stargrid/laravel-calendario-feriados:"v1.0.0"

Após a instalação do pacote, execute o próximo comando:

$ php artisan vendor:publish --provider="StarGrid\LaravelHolidayCalendar\Provider\LaravelHolidayCalendarServiceProvider"

Agora é necessário configurar no .env o seu token de acesso da API:

LARAVEL_HOLIDAY_CALENDAR_TOKEN=SEU_TOKEN_AQUI

Utilização

Para utilizar basta primeiramente instânciar a classe StarGrid\LaravelHolidayCalendar\HolidayClient conforme o exemplo a seguir:

$holidayClient = new StarGrid\LaravelHolidayCalendar\HolidayClient(env('LARAVEL_HOLIDAY_CALENDAR_TOKEN'));

Antes de efetuar as chamadas da API, é necessário definir o tipo de retorno (Response). A API Calendário permite dois formatos, JSON ou XML.

Para definir o retorno do tipo JSON:

$holidayClient = new StarGrid\LaravelHolidayCalendar\HolidayClient(env('LARAVEL_HOLIDAY_CALENDAR_TOKEN'));
$holidayClient->setJsonResponse();

Para definir o retorno do tipo XML:

$holidayClient = new StarGrid\LaravelHolidayCalendar\HolidayClient(env('LARAVEL_HOLIDAY_CALENDAR_TOKEN'));
$holidayClient->setXmlResponse();

Finalmente para fazer a chamada da API, exitem dois tipos de consultas.

Consulta através do código do IBGE do município:

$response = $client->setJsonResponse()
            ->getHolidaysByIbgeCode(2019, 4314902);
  • O primeiro parâmetro é o ano para a consulta dos feriados.
  • O segundo parâmetro é o código do IBGE.

Consulta através do nome do município:

$response = $client->setJsonResponse()
            ->getHolidaysByCity(2019, 'São Paulo' , 'SP');
  • O primeiro parâmetro é o ano para a consulta dos feriados.
  • O segundo parâmetro é o nome da cidade a ser consultada.
  • O terceiro parâmetro é a sigla do estado (UF).

Obs: Não é necessário se preocupar com os acentos e letras minúsculas ou maiúsculas, este tratamento é feito diretamente pelo pacote.

No final o resultado será um array de objetos StarGrid\LaravelHolidayCalendar\Entity\HolidayEntity.

Esse objeto possuí os seguintes métodos para se obter os dados (getters):

public function getDate(): \DateTime
public function getName(): string
public function getDescription(): string
public function getLink(): string
public function getTypeEnum(): HolidayTypeEnum
public function getTypeName(): string
public function getRawData(): string

Também possuí seus respectivos setters.

Service-Provider e Facade

É possível utilizar o DI do próprio Laravel para se obter uma instância de StarGrid\LaravelHolidayCalendar\HolidayClient, se você estiver em uma controller, por exemplo:

<?php

namespace App\Http\Controllers;

use StarGrid\LaravelHolidayCalendar\HolidayClient;

class HomeController
{
    public function testMethod(HolidayClient $holidayClient)
    {
        $response = $holidayClient->setJsonResponse()
                    ->getHolidaysByCity(2019, 'São Paulo' , 'SP');    
    }
}

Ou utiliza-lo através do Facade do próprio pacote:

<?php

namespace App\Http\Controllers;

use StarGrid\LaravelHolidayCalendar\Facade\HolidayClientFacade;

class HomeController
{
    public function testMethod()
    {
        $response = HolidayClientFacade::setJsonResponse()
                    ->getHolidaysByCity(2019, 'São Paulo' , 'SP');    
    }
}

stargrid/laravel-calendario-feriados 适用场景与选型建议

stargrid/laravel-calendario-feriados 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.99k 次下载、GitHub Stars 达 11, 最近一次更新时间为 2019 年 06 月 05 日, 在 PHP 生态内属于活跃度较高的组件。

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

围绕 stargrid/laravel-calendario-feriados 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

  • Stars: 11
  • Watchers: 2
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: AGPL-3.0-only
  • 更新时间: 2019-06-05