PHPackages                             siht/siht - 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. [Framework](/categories/framework)
4. /
5. siht/siht

ActiveLibrary[Framework](/categories/framework)

siht/siht
=========

Siht for PHP

2.0.4(9y ago)063PHPPHP &gt;=5.5.0

Since Sep 25Pushed 9y ago1 watchersCompare

[ Source](https://github.com/sihtphp/Siht)[ Packagist](https://packagist.org/packages/siht/siht)[ Docs](https://github.com/luizdeangeli/Siht)[ RSS](/packages/siht-siht/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (12)Used By (0)

\#Siht Framework

Siht é um pequeno framework desenvolvido com objetivo de criar a camada de interceptação e manipulação da requisição RESTful. De forma a separar a criação de objetos modelo, validações e persistência.

O Siht framework utiliza como base o \[Slim Framework\] () para criar a camada de RESTful.

\###Como funciona:

1. O Slim receber a requisição e através da rotas é criada uma instância do **Controller** da **Classe** e o \**Método* desejado.
2. O **Controller** da classe recebe a chamada do método e executa o método com o mesmo nome e parametro nas classes **Factory**, **HandleIn**, **Repository** e **HandleOut** nesta sequência.

- As classes e métodos **Factory**, **HandleIn**, **Repository** e **HandleOut** são opcionais.
- Qualquer uma destas classes pode retornar uma informação para o solicitante, seja de Erro ou Sucesso.

### Classes e seus objetivos:

[](#classes-e-seus-objetivos)

- **Controller**: Identificar o método invocado, interceptar e direcionar para a demais classes de manipulação.
- **Factory** *\[opicional\]*: Fabricar objetos que são enviados em outros formatos diferente de objetos modelo do PHP.
- **HandleIn** *\[opicional\]*: Manipular as informações enviadas antes de enviar para o Repository, pode-se gerar um Exception neste momento e parar a requisição. Normalmente é utilizada para validar as informações enviadas.
- **Repository** *\[opicional\]*: Realizar a ~interação com banco de dados.
- **HandleOut** *\[opicional\]*: Manipular as informações retornadas do Repository, pode-se gera um Exception neste momento e parar a requisição.
- **Model** *\[opicional\]*: Criar objetos a partir de classe com o atributos e relações entre classes.

Começando
=========

[](#começando)

Instalar
--------

[](#instalar)

Recomendamos que você faça a instalação do Siht Framework utilizando o Composer.

\[Visite o Siht Framework no Composer\] ()

#### composer.json

[](#composerjson)

```
{
    "require": {
        "siht/siht": "dev-master"
    }
}

```

Requerimentos do Sistema
------------------------

[](#requerimentos-do-sistema)

É necessário o **PHP &gt;= 5.3.0**

Tutorial para um CRUD de Cidade
===============================

[](#tutorial-para-um-crud-de-cidade)

\[Caso preferir, você também pode realizar o download deste exemplo abaixo no Github\] ()

#### Hierarquia de Diretórios

[](#hierarquia-de-diretórios)

```
\vendor\
\Application\
    \City\
        \Controller.php
        \Factory.php
        \HandleIn.php
        \Repository.php
        \HandleOut.php
        \City.php
    \autoload.php
index.php
.htaccess

```

### Conteúdo dos arquivos

[](#conteúdo-dos-arquivos)

##### \\index.php

[](#indexphp)

```
