codeeasy/slim-framework-skeleton
Composer 安装命令:
composer create-project codeeasy/slim-framework-skeleton
包简介
Slim Framework skeleton by Code Easy
README 文档
README
Slim Framework Skeleton by Code Easy
Uma maneira simples de começar com o Slim Framework tendo o mínimo necessário.
TABELA DE CONTEÚDOS
- Sobre
- Status do Projeto
- Funcionalidades
- Pré-requisitos
- Como Rodar a Aplicação/Testes
- Download
1.1. Composer
1.2. Github (Download Manual) - Configurações
- Executando
3.1. PHP
3.2. Docker - Dicas para o Docker
- Testes
- Download
- Tecnologias Utilizadas
- Contribuição
- Autor
- Licensa
SOBRE
O "Slim Framework Skeleton by Code Easy" é um esqueleto de uma aplicação com o Slim Framework que tem o objetivo de trazer o mínimo necessário para desenvolver uma aplicação com o Slim Framework já configurada incluindo:
- Uma linguagem de template;
- Injeção de dependências;
- Testes automatizados;
- Estrutura de diretórios;
- Dotenv;
- Um projeto configurado com a arquitetura MVC;
- Containers através do Docker.
OBS: A única camada do MVC que não foi implementada é o Model pelo fato de que, para cada tipo de armazenamento, seja um banco de dados SQL, um arquivo, algum tipo de banco de dados NoSQL, entre outros, existe uma implementação diferente, além de que, uma aplicação ou um site com o mínimo necessário, pode nem mesmo precisar de um banco de dados as vezes.
STATUS DO PROJETO
- 🚧 Helpers para testes automatizados: Em construção 🚧
- ⛔ Slim CSRF: Não iniciado ⛔
- ⛔ Manual de Contribuição: Não iniciado ⛔
FUNCIONALIDADES
- Testes automatizados com o PHP Unit. Os testes estão localizados no diretório
tests/e são configurados emphpunit.xml; - Análise estática de código com o Psalm;
- Kernel da aplicação onde tudo é iniciado e configurado, localizado em
src/Kernel/Server.php; - Provedor de Serviços, funciona com o PHP-DI e fica localizado em
src/Kernel/Provider.php, local esse onde é possível realizar as injeções de dependências no Slim Framework; - Middlewares localizados em
src/Http/Middlewaree configurados emsrc/Kernel/Middleware.php; - Sistema de rotas construído em
src/Routese invocados emsrc/Kernel/Server.php; - Controllers construídos em
src/Http/Controllere invocados emsrc/Routes; - Área de Serviços (Services) que podem ser construídos para a sua aplicação e injetados pelo Provedor de Serviços;
- Linguagem de template Twig:
- Os arquivos Twig se encontram no diretório
resources/view/; - O serviço do Twig se encontra no diretório
src/Service/Twigbem como as suas configurações; - Dentro do serviço do Twig já tem uma estrutura pronta para você configurar as suas próprias funções e filtros do Twig;
- Possui um sistema de cache sendo que o cache fica armazenado em
cache/twig.
- Os arquivos Twig se encontram no diretório
- Helpers personalizados que podem ser constrídos em
config/helpers.php; - Diretório public com arquivos prontos para a publição de um site com foco no SEO.
PRÉ-REQUISITOS
Para utilizar esse esqueleto os requisito são:
- PHP 7.4 ou superior;
- Composer (De preferência a versão 2, mesma utilizada na criação desse projeto);
- Docker e Docker Compose (Opcional).
COMO RODAR A APLICAÇÃO/TESTES
1. Download
OBS: Problemas na execução do composer podem ocorrer caso esteja faltando algum módulo a ser instalado no seu PHP.
1.1. Composer
Você deve baixar o esqueleto como um novo projeto através do composer com o comando composer create-project codeeasy/slim-framework-skeleton <nome-do-projeto>.
Você também pode escolher uma das versões e executar o comando composer create-project "codeeasy/slim-framework-skeleton:v0.0.3" <nome-do-projeto>, por exemplo, alterando a v0.0.3 pela versão desejada.
As versões se encontram no link a seguir:
1.2. Github (Download Manual)
Acesse o seguinte link:
- Github Releases: https://github.com/codeeasy-dev/slim-framework-skeleton/releases
Aqui você terá todas as versões do projeto, da mais recente à mais antiga, é só você escolher uma e baixar o .zip ou o .tar.gz e depois descompactar.
Por fim, acesse o diretório descompactado e execute o comando composer install para instalar as dependências.
2. Configurações
Copie o arquivo .env.example para .env e preencha com os dados necessários, se necessário.
3. Executando
3.1 PHP
Se for usar o PHP que está instalado na sua máquina então execute o comando php -S 0.0.0.0:<SUA-PORTA> -t public como por exemplo php -S 0.0.0.0:8080 -t public, depois acesse o seu navegador com o link http://localhost:<PORTA_ESCOLHIDA>, se aparecer o site então é porque está tudo pronto, agora é só começar a programar.
3.2 Docker
Se for usar o docker acesse o arquivo dockerfile e altere os conteúdos da linha 4 a linha 7.
ARG USER=demo ARG UID=1000 ARG GID=1000 ARG PW=demo
Aqui você pode alterar USER=demo por um outro nome de usuário como USER=codeeasy por exemplo e também alterar a senha de PW=demo para outra como PW=1234.
O UID e o GID estão relacionados ao ID do usuário e o ID do grupo numa distribuição linux, se você estiver usando uma distribuição linux você pode colocar os mesmos IDs que o seu usuário e grupo para evitar problemas de permissão de arquivos.
Para descobrir os IDs de usuário e grupo, repectivamente, na sua distribuição linux execute no terminal o comando echo $(id -u) $(id -g) e os dois IDs serão mostrados.
É claro que você também pode colocar qualquer outro ID.
No Windows o sistema de arquivos funciona diferente então você pode colcoar qualquer ID ou deixar o padrão de 1000 1000.
Depois você pode acessar o docker-compose.yml e alterar a porta padrão que está como 8080, se desejar, para isso basta alterar APENAS UMA das portas para a porta desejada como é mostrado a baixo.
ports: - <PORTA-A-SER-ALTERADA>:80
Exemplo alterando para a porta 8085:
ports: - 8085:80
Também é possível alterar o nome do container como é mostrado a baixo:
services: web: build: . container_name: <NOME-DO-CONTAINER>
Depois disso execute o comando docker-compose up -d para montar a imagem e criar o container.
Execute o comando docker-compose ps para verificar se o container está em execução e se aparecer State Up e Ports 0.0.0.0:80-><PORTA-ESCOLHIDA>/tcp então o container está funcionando.
Por fim acesse no seu navegador a URL http://localhost:<PORTA-ESCOLHIDA>, se aparecer o site então é porque está tudo pronto, agora é só começar a programar.
4. Dicas para o Docker
Se você estiver usando o docker segue algumas dicas de comandos para serem utilizados:
docker-compose ps: Verifica o status dos containers especificados no arquivodocker-compose.yml;docker-compose up -d: Faz o build da imagem dodockerfile, caso não exista o build ainda, e cria os containers;docker-compose build: Faz o build da imagem do dockerfile;docker-compose down: Destrói os containers especificados nodocker-compose.yml;docker-compose stop: Para a execução dos containers especificados nodocker-compose.yml;docker-compose start: Inicia a execução dos containers especificados nodocker-compose.ymlcaso os containers já tenham sido criados;docker exec -it <NOME-DO-CONTAINER> /bin/bash: Acessa o terminal de um container em específico usando o bash.
5. Testes
5.1 PHP Unit
Todos os testes se encontram dentro do diretório tests/.
Para executar os testes automatizados execute o comando vendor/bin/phpunit.
5.2 Psalm
Para executar os testes execute o comando vendor/bin/psalm --show-info=true.
TECNOLOGIAS UTILIZADAS
CONTRIBUIÇÃO
Felipe Vieira 💻 |
AUTOR
Felipe Vieira
codeeasy/slim-framework-skeleton 适用场景与选型建议
codeeasy/slim-framework-skeleton 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30 次下载、GitHub Stars 达 3, 最近一次更新时间为 2020 年 07 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 codeeasy/slim-framework-skeleton 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 codeeasy/slim-framework-skeleton 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 30
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-07-25