Skip to content
This repository was archived by the owner on Apr 24, 2019. It is now read-only.

phpzm/simples

Repository files navigation

Simples

O Simples é um projeto que reúne um conjunto de pacotes para trabalhar com PHP de forma rápida e minimalista. Menos é mais!

Instalação

Para começar a usar o simples você pode usar o comando:

$ composer create-project phpzm/simples

ou fazer uma cópia da branch master do repositório

$ git clone https://github.com/phpzm/simples.git <dir>
$ cd <dir>
$ rm .git
$ composer install

Neste momento você já tem baixada uma arquiretura básica e é preciso configurar alguns detalhes para sair usando feliz da vida recursos básicos para um desenvolver um site ou sistema em PHP.

Configurações do Ambiente

As duas configurações que são disponibilizadas como base são direcionadas para a mesma url: http://localhost:8080

Docker

Cria uma cópia do arquivo de exemplo que é disponibilizado junto com o projeto

$ cp docker-compose.yml.sample docker-compose.yml
$ docker-compose up

Built-in Server

Para utilizar o o servidor de desenvolvimento que vem junto com o PHP utilize os comandos abaixo

$ composer run serve --timeout=0

Se deu tudo certo, ao acessar a url http://localhost:8080 você já verá nossa página padrão de apresentação

Configurações Básicas

Criando rotas

A configuração de qual a primeira rota (ou quais as primeiras rotas) será chamada fica por padrão dentro de app/configs/route.php.

As configurações de acesso aos recursos da aplicação podem ser feitas nos arquivos de rotas. Os comandos podem ser escritos diretamente direto no corpo do arquivo (onde uma variável $router estará disponível por questões de escopo) ou usando o retorno de closures que recebem o $router como parâmetro.

Rotas simples

return function($router) {

    $router->on('GET', '/', function() {
       return 'Hello World!';
    });
}

Rotas dinâmicas

return function($router) {

    $router->get('/:controller/:method', function($controller, $method) {
       return 'Hello World!';
    });
}

Grupos de Rotas

return function($router) {

    // lista com arquivos de rota
    $router->group('GET', '/site', ['more/files/routes.php', 'more/files/site.php']);

    // pasta que contém arquivos de rotas
    $router->group('*', '/api', 'api/routes');
}

Rotas com Interação com Controllers

return function($router) {

    $router->post('/client/save', '\Namespace\ClientController@save');
    $router->resource('client', '\Namespace\ClientController');
}

Um $router->resource vai criar:

Verb Path Action Route Name
GET /route index route.index
GET /route/create create route.create
GET /route/{id} show route.show
GET /route/{id}/edit edit route.edit
POST /route store route.store
PUT/PATCH /route/{id} update route.update
DELETE /route/{id} destroy route.destroy

About

Estrutura básica de um projeto que usa os pacotes desenvolvidos pelo phpZM

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •