jairojeffersont / appfoundry
Esqueleto básico de uma aplicação PHP desenvolvida com Slim Framework, Twig e Eloquent ORM.
Package info
github.com/JairoJeffersont/AppFoundry
Type:project
pkg:composer/jairojeffersont/appfoundry
Requires
- illuminate/database: ^13.32
- nyholm/psr7: ^1.8
- nyholm/psr7-server: ^1.1
- slim/slim: 4.*
- slim/twig-view: ^3.4
- vlucas/phpdotenv: ^5.7
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-23 13:07:41 UTC
README
Esqueleto básico para iniciar novos projetos PHP com Slim Framework, Eloquent ORM e Twig.
O projeto fornece uma estrutura inicial com roteamento, controllers, views, configuração de banco de dados e carregamento de variáveis de ambiente.
Instalação
git clone https://github.com/JairoJeffersont/AppFoundry nome-do-projeto
cd nome-do-projeto
composer install
Configuração
Copie o arquivo de ambiente e ajuste os valores da aplicação e do banco de dados:
cp .env.example .env
Principais variáveis disponíveis:
APP_ENV=development APP_NAME="Minha aplicação" DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=web DB_USERNAME=root DB_PASSWORD=
Executando a aplicação
Inicie o servidor de desenvolvimento apontando o document root para a pasta public:
php -S localhost:8000 -t public
A aplicação estará disponível em http://localhost:8000.
Hospedagem em um servidor web
Para publicar a aplicação em uma hospedagem ou servidor de produção, consulte a documentação oficial do Slim Framework 4 sobre servidores web:
https://www.slimframework.com/docs/v4/start/web-servers.html
As configurações corretas dependem do servidor utilizado, como Apache, Nginx ou PHP-FPM. Em geral, o document root deve apontar para a pasta public, que contém o arquivo index.php da aplicação. Também é necessário configurar o servidor para encaminhar as requisições para esse arquivo e garantir que o PHP e as extensões exigidas estejam habilitados.
Antes da publicação, revise também as variáveis do .env, principalmente APP_ENV, as credenciais do banco de dados e as permissões das pastas usadas pelo Twig.
Estrutura principal
config/ Configurações do banco e do Twig
database.db Script SQL de exemplo para criar a tabela usuarios
public/index.php Ponto de entrada da aplicação
src/Controllers/ Controllers
src/Models/ Models Eloquent
src/Routes/ Rotas da aplicação
src/Views/ Templates Twig
.env.example Exemplo de variáveis de ambiente
Exemplo de model e banco de dados
O projeto inclui o model App\Models\Usuario em src/Models/Usuario.php. Ele representa a tabela usuarios e possui os campos:
idnomeemailsenha
O arquivo database.db contém um script SQL simples para criar essa tabela, incluindo também created_at e updated_at, usados automaticamente pelo Eloquent.
Execute o conteúdo do arquivo no banco configurado no .env antes de utilizar o model. Por exemplo, com MySQL:
mysql -u root -p web < database.db
O model possui um mutator que aplica password_hash automaticamente sempre que uma senha em texto é atribuída ao atributo senha. Valores que já possuem hash não são hashados novamente. Além disso, o campo fica oculto na serialização do model.
Exemplo:
$usuario = new Usuario(); $usuario->nome = 'Maria'; $usuario->email = 'maria@example.com'; $usuario->senha = 'senha-secreta'; $usuario->save();
A senha deve ser verificada com password_verify e nunca deve ser armazenada em texto puro.
Criando um novo projeto
Depois da instalação, use esta estrutura como base e adapte-a ao domínio da aplicação:
- Crie as rotas em
src/Routes. - Implemente os controllers em
src/Controllers. - Adicione os templates em
src/Views. - Crie os models usando o Eloquent conforme a necessidade do projeto.
- Mantenha as credenciais e configurações específicas no arquivo
.env.
Licença
Este projeto está disponível sob a licença MIT.