?
Espricho é uma estrutura Lightwieght para o PHP7, com base em componentes do Symfony com um suporte modular interno.
Espricho é fortemente inspirado em Laravel e Yii2. Sua modularidade é semelhante ao YII2, mas graças ao contêiner Symfony Di, ele possui um contêiner poderoso como Laravel! Espricho é o nome persa do pássaro da andorinha (no dialeto Kermani).
mafsho é uma ferramenta de linha de comando que fornece muitas funcionalidades como os geradores para funcionar mais fácil com o Espricho. É uma palavra farsi significa bolsa (no dialeto Kermani). Você pode executá -lo com o comando php mafsho .
Espricho tem uma estrutura como esta:
├── Bootstrap
├── Components
├── Configs
├── Console
├── Controllers
├── Databases
├── mafsho
├── Models
├── Modules
├── Public
└── Runtime
Falamos sobre cada um em continuar.
Espricho suporta a definição de variáveis ambientais (variáveis que dependem do ambiente de corrida). Você deve colocá -los no .env (ou .env.dist que dist é um estágio de aplicativo). É uma boa ideia se todas as teclas no arquivo .env forem maiúsculas e começar com o nome da seção. Por exemplo, todas as teclas Elasticsearch começam com ELASTICSEARCH_ prefixo.
Por outro lado, você pode definir configurações de nível de aplicativo nos arquivos Config/*.yaml . Finalmente, essas duas configurações são acessíveis a partir sys()->getConfig('dot.notationed.key', 'default') .
No arquivo sys.yaml , você pode definir os parâmetros de inicialização do sistema. Como resultado principal, você pode definir os carregadores do módulo do sistema na tecla loader .
sys :
name : Espricho
version : 1.0
max_log_files : 10
loader :
- auth
- db
- modules
- redis
- elasticsearch A configuração do banco de dados deve ser definida em .env a raiz do projeto. Uma amostra para seu conteúdo é semelhante a este:
# Database Configurations
DB_DRIVER = mysql
DB_HOST = localhost
DB_PORT = 3306
DB_USERNAME = root
DB_PASSWORD = root
DB_DATABASE = db_name Para definir o módulo, você deve colocar seu módulo na pasta Modules e definir sua estrutura nele. Uma estrutura de amostra pode ser algo assim:
Modules
└── Shop
├── Configs
│ └── routes.yaml
└── Controllers
└── ProductController.php
Cada módulo possui suas próprias regras de definição de rota e elas devem Configs definidas nas routes.yaml . Após a definição de módulo, você pode registrá -lo nos modules.yaml na pasta Configs da raiz do projeto. Um exemplo de conteúdo para este arquivo de configuração é:
modules :
shop :
folder : Shop
route_prefix : sh Cada módulo pode ter seus submódulos e eles devem Configs definidos nos modules.yaml . A definição de rotas é semelhante.