-
-
Notifications
You must be signed in to change notification settings - Fork 3
Directory Structure
samuelgfeller edited this page Apr 2, 2024
·
1 revision
The directory structures of the slim-example-project, slim-api-starter and the slim-starter are based on Standard PHP Package Skeleton.
├── config # contains configuration files
├── public
│ ├── assets # images, videos, stylesheets, scripts, fonts, audio files
├── resources
│ ├── migrations # database migrations
│ ├── schema # database table creation schema
│ ├── seeds # database seed data
│ └── translations # translation files
├── src
│ ├── Application # top layer, contains action classes, middlewares, error handler, responder
│ ├── Domain # includes business logic / service classes
│ │ ├── [Module] # domain entities
│ │ │ ├── Service # domain service classes
│ │ │ └── Repository # infrastructure repository classes / database access (vertical slice architecture)
│ └── Common # helper classes and functions
├── templates # layout and template files for each module
└── tests
├── Integration # integration tests action class testing which test all layers
├── Unit # unit tests domain service class testing
├── Fixture # database content to be added as preparation in test db for integration tests
├── Provider # data provider to run the same test cases with different data
└── Traits # utility traits (test setup, database connection, helpers)
Slim app basics
- Composer
- Web Server config and Bootstrapping
- Dependency Injection
- Configuration
- Routing
- Middleware
- Architecture
- Single Responsibility Principle
- Action
- Domain
- Repository and Query Builder
Features
- Logging
- Validation
- Session and Flash
- Authentication
- Authorization
- Translations
- Mailing
- Console commands
- Database migrations
- Error handling
- Security
- API endpoint
- GitHub Actions
- Scrutinizer
- Coding standards fixer
- PHPStan static code analysis
Testing
Frontend
Other