Gangoy Framework
Gangoy é um framework PHP desenvolvido com um conjunto de bibliotecas bem conhecidas na comunidade PHP e segue as orientações das PSRs fornecidas pelo PHP-FIG.
Usamos o conceito de Serviços/Container, tornando fácil adicionar novas funcionalidades ou desativar alguma que já vem como padrão.
Foi projetado para que o desenvolvedor tenha em mãos recursos básicos/excenciais que são comuns em qualquer projeto Web, ficando assim fácil e rápido iniciar um novo projeto seguindo boas práticas e padrões de desenvolvimento.
Veja mais sobre as bibliotecas usadas na seção Agradecimentos.
Desenvolvedor
Talles Gazel
Site: http://www.tjgweb.com.br
GitHub: https://github.com/tjgazel/gangoy-framework
Requisitos de sistema
- Web server com URL rewriting ativo.
- PHP 7.1 ou superior.
Instalação
Utilizando Composer Create-Project
composer create-project tjgazel/gangoy-framework nome_projeto
Acesse com o terminal até o diretório onde foi criado o projeto e digite o seguinte comando para iniciar o servidor de desenvolvimento.
php gangoy server
Abra o navegador e acesse localhost:8080
Configurações gerais
Após a instalação você deve olhar para o arquivo .env
, onde deve ser configurado todos os dados sensíveis
do seu ambiente. Caso o arquivo não tenha sido criado automaticamente durante a instalação você pode copiar e renomear o arquivo .env.example
DETERMINE_ROUTE_BEFORE_APP_MIDDLEWARE=true
CACHE_ROUTER=false
CACHE_CONTAINER=false
CACHE_VIEWS=false
DISPLAY_ERRORS=true
AUTH_SESSION_NAME=user
DB_DRIVER=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=gangoy
DB_USERNAME=root
DB_PASSWORD=root
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
#DB_PREFIX=
- DETERMINE_ROUTE_BEFORE_APP_MIDDLEWARE: Determina as rotas antes de rodar os middlewares. Deixe como true se for utilizar o sistema de autenticação.
- CACHE_ROUTER: Ativa o sistema de cache das rotas.
- CACHE_CONTAINER: Ativa o sistema de cache do container.
- CACHE_VIEWS: Ativa o sistema de cache para as views.
- ERROR_DETAILS: Mostra erros de forma elegante, ideal para o desenvolvimento. Deixe como false no seu ambiente de produção.
- AUTH_SESSION_NAME: Nome da chave que será usada para a sessão de autenticação.
- DB_: Configurações do seu banco de dados. Atualmente suporta
SQLite, MySQL, PostgreSQL
.
Nota: Evite usar cache no ambiente de desenvolvimento para que as alterações sejam refletidas instantâneamente.
Servidor
Todas as solicitações HTTP devem ser encaminhadas para o arquivo index.php
que se encontra no diretório public.
Apache
Certifique-se de que seus arquivos .htaccess
e index.php
estejam no mesmo diretório acessível ao público.
O arquivo .htaccess
deve conter este código:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
</IfModule>
Nginx
Você deve atualizar os server_name
, error_log
, access_log
, e root
com seus próprios valores. A diretiva root
é o caminho para o diretório public
do seu aplicativo onde está o arquivo index.php
server {
listen 80;
server_name example.com;
index index.php;
error_log /path/to/example.error.log;
access_log /path/to/example.access.log;
root /path/to/public;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
}
}
Agradecimentos
Agradecemos a todos os desenvolvedores das bibliotecas citadas abaixo. Atravez delas foi possível chegarmos a este trabalho.
- Slim Framework
- Slim Framework Flash Messages
- Slim Framework CSRF Protection
- Slim Validation / Respect Validation
- Slim Framework Twig View
- Twig
- Laravel - Illuminate Database package
- Laravel - Mix
- Phinx
- Symfony console
- PHP dotenv
- PHP-DI
- Monolog
- Zend - Event Manager
- Doctrine - Inflector
License
The Gangoy Framework
is open-sourced software licensed under the MIT license