viniciuscoutinh0/minimal-starter
最新稳定版本:0.2
Composer 安装命令:
composer create-project viniciuscoutinh0/minimal-starter
包简介
README 文档
README
Minimal
Minimal é um framework simples e leve para páginas únicas, ideal para projetos pequenos, dashboards e ferramentas SPA.
Funcionalidades
- View engine própria
- ORM com sintaxe inspirada no Laravel
- Integração com Vite e hot reload
- Suporte a testes com Pest
- TailwindCSS e Alpine.js pré-configurados
Instalação
Para instalar, utilize o comando:
composer create-project viniciuscoutinh0/minimal-starter
Após a instalação, copie o arquivo .env.example para .env:
cp .env.example .env
Registrando views
Você pode registrar e renderizar views de forma simples. O caminho padrão onde os arquivos são armazenados é:
resources/views
No arquivo app.php:
$app->view('path/to/view')->name('name');
Renderizando views
No index.php, você pode renderizar suas views da seguinte forma:
<?php View::render('welcome'); ?>
Passando dados para views
Existem duas formas de passar dados para as views:
Via array diretamente no método:
$app->view('path/to/view', ['foo' => 'bar'])->name('name');
Ou utilizando o método with:
$app->view('path/to/view')->with('foo', 'bar')->name('name');
Passando dados globais
Você pode passar dados de forma global para todas as views utilizando o método share:
View::share('foo', 'bar');
Por padrão, uma variável com a instância de
$appjá está disponível em todas as views.
Utilizando dados na view
As variáveis passadas para a view ficam disponíveis diretamente no arquivo de template. Por exemplo:
<?= $foo; ?>
Exibe "bar"
ORM
Para utilizar o ORM, descomente a linha 11 no app.php e configure o .env com as credenciais do banco. Atualmente, o Minimal possui suporte apenas para MS SQL Server.
Exemplo de configuração:
<?php declare(strict_types=1); require __DIR__.'/../vendor/autoload.php'; use Viniciuscoutinh0\Minimal\Application; $app = Application::make(dirname(__DIR__, 1)); $app->registerProvider(new Viniciuscoutinh0\Minimal\Providers\DatabaseProvider); $app->boot(); $app->view('welcome')->name('welcome');
Crie um modelo em app/Models:
<?php namespace App\Models; use Viniciuscoutinh0\Minimal\Database\Model; final class User extends Model { // Nome da tabela protected string $table = 'users'; // Chave primária da tabela protected string $primaryKey = 'id'; }
Consultas
User::newQuery()->first(); // Retorna o primeiro resultado User::newQuery()->find(1); // Retorna o resultado com ID 1 User::newQuery()->get(); // Retorna um array de resultados
Filtros
User::newQuery()->where('id', 2)->first(); User::newQuery()->where('id', 2)->orWhere('id', 3)->first();
Operadores
Você pode alterar o operador nas cláusulas where, utilizando o OperatorEnum.
Exemplo:
use Viniciuscoutinh0\Minimal\Database\Grammar\Enums\OperatorEnum; User::newQuery()->where('foo', '%bar%', OperatorEnum::Like)->get();
Operadores disponíveis:
enum OperatorEnum: string { case Equal = '='; case NotEqual = '<>'; case GreaterThan = '>'; case LessThan = '<'; case GreaterThanOrEqual = '>='; case LessThanOrEqual = '<='; case Like = 'like'; case NotLike = 'not like'; }
Esses operadores permitem construir consultas mais precisas ao banco de dados, mantendo a clareza e segurança do código.
Selecionando colunas específicas
User::newQuery()->select('name')->where('id', 2)->first(); // Alternativas User::newQuery()->first('name'); // SELECT name FROM users User::newQuery()->find(1, columns: 'name'); User::newQuery()->get('name');
Utilizando distinct
User::newQuery()->distinct()->select('id')->get();
QueryString
Você pode obter dados da query string através da instância do $app:
// Exemplo de URL: ?foo=bar $app->query()->get('foo'); // Retorna: bar
Caso o valor não seja encontrado, o retorno padrão será
null.
Você pode definir um valor padrão como segundo argumento:
$app->query()->get('foo', 'valor-padrao');
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-06-25