Application Structure

Taking our directory structure from the API Tutorial we created here.

bootstrap
├── application.php
├── routes.php
environment
├── .env
├── settings.ini
public
├── index.php
├── .htaccess
services
├── AuthService.php
static
├── bootstrap.min.css
├── favicon.ico
├── favicon.png
├── pionia_logo.webp
storage
├── scripts
├── rename.php
switches
├── MainSwitch.php
├── .gitignore
├── README.md
├── composer.json
├── pionia

Directory Structure Breakdown

NameRoleType
bootstrapThis is where we store our application and routes. application.php helps to bootstrap the Pionia application that shall be used by both our CLI and web kernels. Folder
environmentThis holds our environment configuration files, can contain profile-specific environment too! Folder
publicThis handles all HTTP requests and boots up our web kernel using the Pionia application created in bootstrap/application.phpFolder
servicesThis is where all our services are stored. This is where you should focus most. All business logic resides here.Folder
staticThese holds static files that the might you may need or that might be needed by the framework itself. In the future, this folder might be used to serve frontend SPAsFolder
storageThis where application generated files are stored. These might include caches, logs, and scripts. Please do not remove rename.php in scriptsFolder
switchesThis is where our app switches reside.Folder
.gitignoreThis file is used to tell git which files to ignore when pushing to the repository.File
composer.jsonThis file is used to manage the dependencies of the project. It is used by composer to install the dependencies.File
pioniaThis handles all our CLI commands, whether inbuilt or your custom commands. Just run php pionia to boot this CLI upFile
README.mA simple getting started guide for the project.File

Pionia is a progressive framework, there more folders might be included as you need/require them. Other folders might include middlewares, authentications, commands. All these will only be added when you invoke/initiate them.