PHPackages                             szagot/config - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. szagot/config

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

szagot/config
=============

Classes estilo HELPER para Configuração de Sistemas

1.0.1(8y ago)0230↓90.6%PHPPHP &gt;=5.4.0

Since May 15Pushed 1y ago1 watchersCompare

[ Source](https://github.com/szagot/config)[ Packagist](https://packagist.org/packages/szagot/config)[ RSS](/packages/szagot-config/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (3)Used By (0)

Config
======

[](#config)

> **DEPRECATED!** Utilize no lugar [szagot/helper](https://github.com/szagot/helper)

---

Classes auxiliares de configuração (do tipo HELPER)

- **Session**: Auxilia no gerenciamento de Sessões
- **Uri**: Recupera a URI acessada, juntamente com todos os dados enviados (para consumo de APIs e Webservices)
- **Request**: Efetua requisições/adições de arquivo no código a partir de uma pasta pública. Esses arquivos podem ser tanto linkados como adicionados miniatuarizados no direto no código.
- **HttpRequest**: Efetua requisições Http (para acesso APIs e Webservices)

Exemplos de uso
---------------

[](#exemplos-de-uso)

Para fazer uso da classe Uri, sugere-se que se desvie todas as chamadas para o arquivo onde a classe será chamada. Além disso, se a classe Request for usada em conjunto, é importante antes apontar as chamadas da pasta pública para sua respectiva pasta. Segue um exemplo de um arquivo *.htaccess*:

```
RewriteEngine On

# Área Pública (class Request + Uri)
RewriteRule ^public/?(.*)$ public/$1 [NC,L]

# Envia todo mundo para o index.php (class Uri)
RewriteRule ^/?.*$ index.php [NC,L]
```

Não esqueça de adicionar o comando abaixo no início do script, para não ter que mencionar o namespace das classes toda vez.

```
use Sz\Config;
```

### Session

[](#session)

```
// Iniciando uma Sessão
$session = Session::start();

// Gravando na sessão
$session->attr = 'Exemplo';

// Verificando a existencia de um parametro e pegando os dados gravados nele
if( $session->keyExists('attr') )
    echo $session->attr;

// Destruindo a sessão
$session->destroy();

// Não é necessário fechar a sessão ao final do script, posto que isso é automático
// Mas caso queira fazer isso antes do final do script, basta apenas...
$session = null;
```

### Uri

[](#uri)

```
// Pegando os dados atuais da URI (inclundo query string e postagens de modo seguro)
$uri = new Uri();

// Você pode definir uma raiz do projeto para que ela seja desconsiderada
// Exemplo http://meusite.com/base_do_projeto/pagina_de_teste
$uri = new Uri('base_do_projeto');

// Verificando se a uri contém WWW. Se não tiver, reinica a página adicionando o WWW
// Naturalmente, nenhum header deve ter sido enviado antes disso
// Para remover o WWW, use $uri->removeWWW();
if( $uri->addWWW() )
    exit;

// Pegando e filtrando um POST/GET
$email = $uri->getParam('email', FILTER_EMAIL);

// Pegando POST/GET sem qualquer filtro, jeito 1
$nome = $uri->getParam('nome');

// Pegando POST/GET sem qualquer filtro, jeito 2
$nome = $uri->getParametros()->nome;

// Pegando os detalhes da URI:
// http://meusite.com/base_do_projeto/pagina_de_teste/opcao/detalhe/outros-0/outros-1/
echo $uri->getPage();           # Imprime 'pagina_de_teste'
echo $uri->getFirstUrlParam();  # Imprime 'opcao'
echo $uri->getSecondUrlParam(); # Imprime 'detalhe'
echo $uri->getNthUrlParam(0);   # Imprime 'outros-0'
echo $uri->getNthUrlParam(1);   # Imprime 'outros-1'

// Pegando a raiz do projeto:
// http://meusite.com/base_do_projeto/pagina_de_teste/
echo $uri->getRaiz();                                                   # Imprime '/base_do_projeto/'
echo $uri->getRaiz( Uri::INCLUI_SERVER );                               # Imprime '//meusite.com/base_do_projeto/'
echo $uri->getRaiz( Uri::INCLUI_SERVER, Uri::SERVER_COM_PROTOCOLO );    # Imprime 'http://meusite.com/base_do_projeto/'

// Para uso em APIs: Pegando Body da requisição
echo $uri->getBody();

// Para uso em APIs: Pegando o header da requisição
echo $uri->getHeader('authorization');

// Pega os arquivos enviados
var_dump($uri->getFiles());

// Para uso em APIs: Pegando todos os headers da requisição
var_dump($uri->getAllHeaders());
```

### Request

[](#request)

```
/**
 * As pastas criadas (caso não existam) no momento do instanciamento desta classe serão:
 *      /public/html/
 *      /public/css/
 *      /public/js/
 *      /public/css/
 *      /public/img/
 *      /public/mixed/
 */

// Instancia a classe, setando a raiz para a pasta pública. Se esta não existir, ela é criada
// Nota: durante a execução do script, só é possível setar uma vez a raiz do projeto
$request = Request::iniciar( 'raiz_definida' );  # Se deixar vazio, a raiz será '/' a partir do document root do projeto
$request2 = Request::iniciar( 'mudando_raiz' );  # Isso NÃO irá alterar a raiz da pasta Pública, pois a mesma já foi definida acima.

// Pegando um arquivo do tipo HTML, passando parâmetros.
// Esse arquivo deve estar na pasta /raiz_definida/public/html/
// O código abaixo irá substituir toda a ocorrência de '{{title}}' por 'Título da Página'
// Além de miniaturizar o arquivo (remover quebras de linha e comentários)
$htmlExemplo = $request->getFile( 'header.htm', Request::HTML, ['title' => 'Título da Página] );
```

### HttpRequest

[](#httprequest)

```
// URI do API
$uri = 'https://api.site.com.br/v1/collection';

// Preparando header
$header = [
    'Content-Type: application/json',
    'User-Agent: Exemplo'
];

// Preparando body
$body = [
    'campo1' => 'valor de exemplo',
    'campo2' => 99.9
];

// Enviando requisição do tipo POST com Auth Basic
$envioExemplo = new HttpRequest( $uri, 'POST', $header );
$envioExemplo
    ->setBodyContent(json_encode( $body ))
    ->setBasicUser('usuario')
    ->setBasicPass('senha')
    ->execute();

// Mostrando retorno
var_dump( $envioExemplo->getResponse()->getBody() );
```

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~241 days

Total

2

Last Release

3095d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fe3ca4829f067edc0cc6b7611a3bee0535439f3cedf7166b75f8327f9a51f982?d=identicon)[szagot](/maintainers/szagot)

---

Top Contributors

[![szagot](https://avatars.githubusercontent.com/u/4570461?v=4)](https://github.com/szagot "szagot (32 commits)")

### Embed Badge

![Health badge](/badges/szagot-config/health.svg)

```
[![Health](https://phpackages.com/badges/szagot-config/health.svg)](https://phpackages.com/packages/szagot-config)
```

###  Alternatives

[arubacao/aws-ip-range-middleware

Laravel Middleware for Amazon Web Services (AWS) IP Address Range

172.3k](/packages/arubacao-aws-ip-range-middleware)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
