clearsh/laravel-collection-ext
Composer 安装命令:
composer require clearsh/laravel-collection-ext
包简介
Laravel package for license validation with collection extensions
README 文档
README
Pacote Laravel para validação de licença. A licença é validada via API no seu servidor; o cliente define LICENSE_KEY no .env e o pacote envia chave e dominio (host atual) para a API. Se a API responder status === 'ok', a licença é considerada válida.
Requisitos
- PHP ^8.2
- Laravel 11 ou 12 (illuminate/support ^11|^12)
- Guzzle HTTP ^7
Instalação
Este pacote é distribuído via repositório Git privado. O cliente precisa de acesso ao repositório e configurar autenticação no Composer.
No projeto do cliente (passo a passo)
1. No composer.json do projeto Laravel do cliente, adicione o bloco repositories (se ainda não existir) e o pacote em require. O repositories fica no mesmo nível de require:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/diegosimple/laravel-collection-ext.git"
}
],
"require": {
"clearsh/laravel-collection-ext": "^1.0"
}
}
2. Se o repositório for privado por HTTPS, crie na raiz do projeto um arquivo auth.json (mesma pasta do composer.json):
{
"http-basic": {
"github.com": {
"username": "token",
"password": "SEU_TOKEN_AQUI"
}
}
}
Troque github.com pelo host da sua URL (ex.: gitlab.com, bitbucket.org) e SEU_TOKEN_AQUI pelo token de acesso. Adicione auth.json ao .gitignore.
3. Na raiz do projeto, rode:
composer update clearsh/laravel-collection-ext
4. No .env do projeto, adicione a chave que você fornecer ao cliente:
LICENSE_KEY=chave-fornecida-pelo-suporte
5. (Opcional) Publicar o config:
php artisan vendor:publish --tag=r9x-config
1. Detalhes: repositório no composer.json
No composer.json do seu projeto Laravel, adicione o repositório e o pacote:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/diegosimple/laravel-collection-ext.git"
}
],
"require": {
"clearsh/laravel-collection-ext": "^1.0"
}
}
Para repositório privado via SSH (recomendado em servidores com chave configurada):
{
"repositories": [
{
"type": "vcs",
"url": "git@github.com:diegosimple/laravel-collection-ext.git"
}
],
"require": {
"clearsh/laravel-collection-ext": "^1.0"
}
}
2. Autenticação (repositório privado)
- SSH: use a URL
git@...acima e garanta que a chave SSH está configurada (ssh-agent,~/.ssh/id_rsaetc.). - HTTPS só com token (sem usuário/senha): crie um arquivo
auth.jsonna pasta do projeto (ou emCOMPOSER_HOME). O Composer usa esse arquivo e você não precisa digitar usuário nem senha — só o token uma vez noauth.json:
{
"http-basic": {
"seu-servidor.com": {
"username": "token",
"password": "SEU_TOKEN_DE_ACESSO_AQUI"
}
}
}
Em GitHub/GitLab e na maioria dos hosts, o username pode ser qualquer valor (ex.: "token" ou seu usuário); o que importa é o password com o Personal Access Token. Assim você não fica digitando usuário e senha a cada composer install/update.
Não versionar auth.json — adicione ao .gitignore.
Depois execute:
composer update clearsh/laravel-collection-ext
Chave de licença no .env
No arquivo .env da aplicação, defina a chave de licença fornecida pelo suporte. Essa chave é validada na API; quando a licença for renovada ou alterada no servidor, você pode receber uma nova chave e atualizar apenas esta variável:
LICENSE_KEY=sua-chave-de-licenca-aqui
A validação é feita em ambiente production. Em outros ambientes a checagem é ignorada.
Publicar a configuração
Para publicar o arquivo de configuração config/license.php no projeto:
php artisan vendor:publish --tag=r9x-config
Isso cria/sobrescreve config/license.php, que lê LICENSE_KEY do .env. Mantenha a chave sempre no .env e use o config/license.php apenas para valores adicionais, se necessário.
Comportamento
- Em production, o pacote valida a licença na API (com cache de 24h).
- Se a API retornar status inválido, é lançada
LicenseExceptioncom a mensagem: "Licença inválida. Contate o suporte." - Em caso de falha de rede, é usado o período de tolerância offline (
_r9x_grace) quando configurado. - Quando a licença é válida, o pacote registra tolerância offline por 3 dias para suportar indisponibilidade temporária da API.
API (servidor de licença)
O pacote envia um POST para o endpoint configurado (HTTPS), com timeout de 5 segundos e header Accept: application/json. Corpo da requisição:
- chave — valor de
config('license.key')(ex.:LICENSE_KEYdo.env) - dominio — host atual da aplicação (ex.:
meusite.com.br)
A resposta deve ser JSON. O pacote considera licença válida quando response->json('status') === 'ok' e o status HTTP é considerado bem-sucedido (2xx). Qualquer outro caso ou falha de rede faz o pacote usar o cache de grace (se existir) ou lançar LicenseException em produção.
Suporte
Em caso de licença inválida ou dúvidas, contate o suporte para obter ou atualizar sua chave de licença.
clearsh/laravel-collection-ext 适用场景与选型建议
clearsh/laravel-collection-ext 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 clearsh/laravel-collection-ext 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 clearsh/laravel-collection-ext 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: proprietary
- 更新时间: 2026-02-23