2017 © Pedro Peláez
 

project little

framework little

image

little/little

framework little

  • Thursday, May 4, 2017
  • by erandir
  • Repository
  • 2 Watchers
  • 8 Stars
  • 36 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 4 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

little

O que é?

little é um framework desenvolvido para auxiliar novos programadores na arquitetura MVC, além disso, também tem como objetivo ajudar os programadores a serem introduzidos ao uso de um framework., (*1)

Por que?

Muitas dúvidas surgem a cada avanço no estudo de uma linguagem, nesse caso o PHP. Pensando nessas dúvidas, resolvi criar esse framework para sanar as possíveis dúvidas que surgem em relação a MVC e Framework.  , (*2)

, (*3)

O Que é MVC?

É nada mais que um padrão de arquitetura de software, separando sua aplicação em 3 camadas. A camada de interação do usuário(view), a camada de manipulação dos dados(model) e a camada de controle(controller)., (*4)

Model - é camada que manipula dados. Ele é responsável pela leitura e escrita de dados, e também de suas validações., (*5)

View - é a camada de interação com o usuário. Tudo o que ele ver, deve vir dessa camada., (*6)

Controller - faz a interligação entre as camadas Model e View. É ele quem decide o que usar e quando usar., (*7)

Instalação

Para usufruir dos recurso do framework tenha instalado em seu equipamento: * PHP 7.0 >= * MySQL * Composer, (*8)

Caso tudo esteja certo, rode o comando abaixo, substituindo path pelo nome da sua aplicação:, (*9)

composer create-project little/little path

Para uma melhor utilização, crie um virtualhost ou utilize o servidor embutido do PHP

O Framework

O framework utiliza alguns nomes em inglês para ajudar na introdução de desenvolvedores ao mundo dos frameworks, onde os principais frameworks são completamente em inglês. A pasta APP, é nela que seus arquivos deverão ficar, na qual existe subdivisões, como:  , (*10)

, (*11)

Rotas

Acesse o arquivo App/web.php. Você verá algo assim:, (*12)

<?php

use Config\Init\Route;

Route::add(['/', 'Example', 'hello']);

A primeira linha é para criar um apelido para a classe Route, evitando que a cada vez que uma nova rota for adicionada, fosse necessário escrever todo o namespace da classe.
A linha seguinte é um exemplo de uso de uma rota., (*13)

Adicionando rotas

Adicione suas rotas no arquivo App/web.php com a seguinte configuração:, (*14)

Route::add(['/', 'Example', 'hello']);

Onde o primeiro parametro do array é a sua uri, o segundo, a sua classe que está na pasta App/Controllers/ e o terceiro parametro é o método desejado., (*15)

Rotas Dinâmicas

Obtenha rotas dinâmicas acrescentando um @ onde será dinâmico, como no exemplo:  , (*16)

Route::add(['/detalhe/@', 'Example', 'detalhe']);

, (*17)

Database

Abra o arquivo App/db.ini será o arquivo de configguração com o banco de dados, importante frisar que só é possível conexão utilizando o banco mysql. No arquivo você encontrará 4 itens a serem configurados:, (*18)

HOST=localhost onde este é o caminho do banco de dados., (*19)

DBNAME=exemplo onde este será o nome do database criado., (*20)

USER=test código do usuário do banco., (*21)

PASS=123 senha do usuário do banco., (*22)

, (*23)

Models

Dentro da pasta App/Models/ ficará suas models, na qual sempre que uma classe representar uma tabela no banco, deverá estender a classe Table:, (*24)

namespace App\Models;

use Config\Model\Table;

class MyModel extends Table

Tornando sua classe uma Table e assim adquirindo novas funcionalidades, como:, (*25)

, (*26)

table - é um atributo estático no qual será atribuído o nome da tabela que se deseja utilizar:  , (*27)

namespace App\Models;Tornando sua classe uma Table e assim adquirindo novos métodos, como: 

use Config\Model\Table;

class MyModel extends Table
{
    protected static $table = "mymodel";
}

, (*28)

all() - retorna todos os dados da tabela:, (*29)

public function hello()
{
    MyModel::all();
}

, (*30)

find() - retorna a tupla de um dado especifico:, (*31)

public function hello()
{
    MyModel::find('id', $url[1]);
}

Onde o primeiro parametro é a coluna do banco, e o segundo o valor que se deseja buscar., (*32)

, (*33)

insert() - insere um valor no banco, retornando true se inserido:, (*34)

public function hello()
{
    $id = 1;
    $nome = 'teste';
    $email = 'exemplo@email.com';
    MyModel::insert(['id' => $id, 'nome' => $nome, 'email' => $email])
}

Um array é passado, onde o indice é a coluna do banco e a chave o valor a ser inserido., (*35)

, (*36)

delete() - exclui determinado valor do banco, retornando true se o dado for excluído com sucesso:, (*37)

public function hello()
{
    MyModel::delete('id', $id)
}

Onde o primeiro parametro é a coluna do banco, e o segundo parametro é o valor o qual se deseja excluir., (*38)

, (*39)

update() - atualiza determinado dado do banco retornando true se atualizado com sucesso:, (*40)

public function hello()
{
    MyModel::update("nome", $nome, 'nome', '\''.$antigoValor.'\'');
}

Onde o primeiro parametro é a coluna que deseja atualizar, o segundo o valor atualizador, o terceiro a coluna na qual se deseja busca o valor, e o quarto parametro é o valor a ser atualizado., (*41)

, (*42)

Views

Dentro da pasta App/View/ ficaram suas views, na qual deverá ter a extensão .php, (*43)

, (*44)

Controllers

Toda classe controller que for utilizada pela rota, deverá estender a classe Controller:, (*45)

namespace App\Controllers;

use Config\Controller\Controller;

class Example extends Controller
{
}

As classes que estenderem de Controller, herdarão algumas propriedades descritos a seguir:, (*46)

, (*47)

view - atributo para enviar valores uma página de vizualização:, (*48)

class Example extends Controller
{
    public function hello()
    {
        $this->view->exemplo = "Enviando dados para a view";
        return $this->template('index');
    }
}

Na view você chamará o atributo igual como está na sua classe controller., (*49)

, (*50)

template() - método que serve para chamar a view desejada, evitando assim o uso de require:, (*51)

class Example extends Controller
{
    public function hello()
    {
        return $this->template('index');
    }
}

, (*52)

input() - método utilizado para retornar valores enviados via POST. Caso desejar pegar um valor especifico, basta passar o campo name do valor que se deseja pegar;, (*53)

class Example extends Controller
{
    public function hello()
    {
        $nome = $this->input('nome');
        return $this->template('index');
    }
}

Caso nenhum valor seja passado por parâmetro, o método input() retornará um array com todos os valores enviados via POST., (*54)

class Example extends Controller
{
    public function hello()
    {
        $valoresDePost = $this->input();
        return $this->template('index');
    }
}

, (*55)

get() - método para retorna valores do tipo GET. Este método retorna um array de valores do tipo GET., (*56)

class Example extends Controller
{
    public function hello()
    {
        $valoresDeGet = $this->get();
        return $this->template('index');
    }
}

Mais Informações

Como o framework é bem limitado, pode ser acrescido de novas funcionalidades, veja a página de configuração do framework, faça um fork e melhore o mesmo.  , (*57)

The Versions

04/05 2017

dev-master

9999999-dev

framework little

  Sources   Download

MIT

The Requires

 

by Antonio Erandir Feitosa Soares Junior

04/05 2017

v1.4.1

1.4.1.0

framework little

  Sources   Download

MIT

The Requires

 

by Antonio Erandir Feitosa Soares Junior

03/05 2017

v1.3.1

1.3.1.0

framework little

  Sources   Download

MIT

The Requires

 

by Antonio Erandir Feitosa Soares Junior

03/05 2017

v1.2.1

1.2.1.0

framework little

  Sources   Download

MIT

The Requires

 

by Antonio Erandir Feitosa Soares Junior

02/05 2017

v1.1.1

1.1.1.0

framework little

  Sources   Download

MIT

The Requires

 

by Antonio Erandir Feitosa Soares Junior

12/03 2017

1.1.1

1.1.1.0

framewrok little

  Sources   Download

MIT

The Requires

 

by Antonio Erandir Feitosa Soares Junior