?
Espricho는 모듈 식 시스템 지원이 내장 된 Symfony 구성 요소를 기반으로하는 PHP7의 Lightwieght 프레임 워크입니다.
Espricho는 Laravel과 YII2에서 크게 영감을 받았습니다. 모듈성은 YII2와 유사하지만 Symfony di 컨테이너 덕분에 Laravel과 같은 강력한 컨테이너가 있습니다! Espricho는 페르시아의 Swallow Bird (Kermani 방언)입니다.
mafsho Espricho를 통해 더 쉽게 작동하도록 발전기와 같은 많은 기능을 제공하는 명령 줄 도구입니다. 파르시 단어는 가방을 의미합니다 (kermani 방언). php mafsho 명령으로 실행할 수 있습니다.
Espricho는 다음과 같은 구조를 가지고 있습니다.
├── Bootstrap
├── Components
├── Configs
├── Console
├── Controllers
├── Databases
├── mafsho
├── Models
├── Modules
├── Public
└── Runtime
우리는 계속해서 각각에 대해 이야기합니다.
Espricho는 환경 변수 (러닝 환경에 의존하는 변수)의 정의를 지원합니다. .env .env.dist dist .env 파일의 모든 키가 상류이고 섹션 이름으로 시작하는 것이 좋습니다. 예를 들어, 모든 Elasticsearch 키는 ELASTICSEARCH_ Prefix로 시작합니다.
다른 한편으로는 Config/*.yaml 파일에서 응용 프로그램 수준 구성을 정의 할 수 있습니다. 마지막 으로이 구성은 sys()->getConfig('dot.notationed.key', 'default') 에서 액세스 할 수 있습니다.
sys.yaml 파일에서 시스템의 부팅 매개 변수를 설정할 수 있습니다. 주요 결과로 loader 키 아래에서 시스템 모듈 로더를 정의 할 수 있습니다.
sys :
name : Espricho
version : 1.0
max_log_files : 10
loader :
- auth
- db
- modules
- redis
- elasticsearch 데이터베이스 구성은 프로젝트의 루트 인 .env 에서 설정해야합니다. 내용의 샘플은 다음과 유사합니다.
# Database Configurations
DB_DRIVER = mysql
DB_HOST = localhost
DB_PORT = 3306
DB_USERNAME = root
DB_PASSWORD = root
DB_DATABASE = db_name 모듈을 정의하려면 모듈을 Modules 폴더 아래에 넣고 구조를 정의해야합니다. 샘플 구조는 다음과 같은 것일 수 있습니다.
Modules
└── Shop
├── Configs
│ └── routes.yaml
└── Controllers
└── ProductController.php
각 모듈에는 자체 경로 정의 규칙이 있으며 Configs 범주에서 routes.yaml 파일에 정의되어야합니다. 모듈을 정의한 후 프로젝트 루트의 Configs 폴더에 modules.yaml 에 등록 할 수 있습니다. 이 구성 파일의 샘플 내용은 다음과 같습니다.
modules :
shop :
folder : Shop
route_prefix : sh 각 모듈에는 하위 모듈이있을 수 있으며 모듈 디렉토리의 Configs 폴더의 modules.yaml 파일에 정의되어야합니다. 경로의 정의는 비슷합니다.