willry / microframework-mvc
Um microframework MVC simples, rápido e extremamente customizável
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^7.1|^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-pdo: *
- coffeecode/cropper: 1.3.*
- coffeecode/paginator: 1.0.*
- coffeecode/router: 1.0.*
- league/plates: v4.0.0-alpha
- phpmailer/phpmailer: ~6.0
- symfony/var-dumper: ^5.4
- vlucas/phpdotenv: ^5.4
- willry/querybuilder: ^1.1
- willry/uploader: ^1.0
This package is auto-updated.
Last update: 2024-04-22 23:21:38 UTC
README
Um microframework MVC simples, rápido e extremamente customizável
Funcionalidades
- Instalação e configuração simples
- Abstração completa do MVC
- Um query builder que abstrai a utilização do PDO
- Um template engine para criação de templates e themas
- Controle de rotas
- Variáveis de ambiente com .env
- Core do framework pode ser facilmente personalizado, como helpers e classes auxiliares
Instalação
A instalação pode ser feita via composer:
composer create-project willry/microframework-mvc . --ignore-platform-reqs # --ignore-platform-reqs: ignora versão do php e força instalação # se sua versão do PHP não for compativel, execute o ambiente docker
Ou manualmente:
- Clonar ou baixar o repositório
- Configurar seu .env com as credenciais do seu banco de dados
- Realizar a instalação das dependências via composer (composer install)
- Acessar a url do projeto, na rota / ou /users
Dump de dados
O projeto é gerado contendo uma simples listagem de usuários, para subir o dump de dados, use o script example.sql da raiz do projeto.
Documentação
A documentação ainda não está completa, PORÉM, existem exemplos de usos da camada de controllers, models, sessões e query builder no controller app\Controllers\UserController.php
Docker
O framework já conta com um ambiente docker de fácil utilização, basta ter o docker e docker-compose instalados e executar os comandos na raiz do projeto:
sudo chmod 777 -R ./docker docker-compose up -d
Arquitetura:
-
Diversos helpers em:
- helpers/helpers.php
-
Rotas no arquivo :
- routes/web.php
-
Controllers:
- app/Controllers
-
Models:
- app/Models
-
Core do framework:
- core/
-
Abstrações:
- services/
-
CRONS:
- crons/
-
Queries sem o query builder, podem ser feitas usando a classe Connect, que retorna o PDO
# com query builder $users = DB::table("users")->limit(10)->get(); #sem query builder $stmt = Connect::getInstance()->prepare("select * from users LIMIT 10"); $stmt->execute(); if (!$stmt->rowCount()) { return null; } $users = $stmt->fetchAll(\PDO::FETCH_CLASS);
Rotas
As rotas permitem usar os verbos HTTP: GET, POST, PUT E DELETE.
Os controllers recebem os dados vindos dos parâmetros das rotas e também do post, através de uma variável injetada no método do controller
<?php //POST /usuario/{id} || /usuario/10 public function editar(array $data) { //dados var_dump($data); // ["id" => 10, "first_name" => "pessoa"] }
Upload de arquivos
Os upload de arquivos são feitos com a biblioteca:
https://packagist.org/packages/willry/uploader
Creditos
- willry (Developer)
Licença
Licença MIT. Veja License File para mais informações.