Directory Structure
Structure
Understanding the directory structure of a Sukarix application is crucial for effective development and maintenance. Below is an overview of the typical directory layout and the purpose of each directory and file.
app
├── config
│ ├── access.ini
│ ├── access-cli.ini
│ ├── classes.ini
│ ├── config-development.ini
│ ├── config-test.ini
│ ├── default.ini
│ ├── notifications.ini
│ ├── routes.ini
│ ├── routes-cli.ini
│ ├── routes-test.ini
│ ├── smtp.ini
│ ├── upload.ini
│ ├── validation.ini
├── i18n
├── src
├── templates
data
db
├── data
├── migrations
├── seeds
logs
public
├── css
├── js
├── index.php
├── minified
uploads
tmp
├── mail
test
vendor
.php-cs-fixer
phinx.yml
Directory and File Descriptions
app
This is the main application directory containing configuration files, source code, templates, and localization files.
config
Contains various configuration files for the application.
- access.ini: Defines access control rules for web applications.
- access-cli.ini: Defines access control rules for CLI applications.
- classes.ini: Configuration for class mappings and dependencies.
- config-development.ini: Configuration specific to the development environment.
- config-test.ini: Configuration specific to the test environment.
- default.ini: Default configuration settings.
- notifications.ini: Settings for notifications (e.g., email, chat integrations).
- routes.ini: Defines routes for web applications.
- routes-cli.ini: Defines routes for CLI applications.
- routes-test.ini: Defines routes for test environments.
- smtp.ini: Configuration for SMTP settings.
- upload.ini: Settings for file uploads.
- validation.ini: Configuration for data validation.
i18n
Directory for internationalization (i18n) files, containing localization strings for different languages.
src
Contains the source code for the application, including controllers, models, and other classes.
templates
Directory for template files used by the application. These are typically .phtml
files that define the HTML structure
and content.
data
Directory for storing the SQLite database files.
db
Contains database-related files and directories.
- data: Directory for storing the SQLite database files.
- migrations: Directory for database migration scripts.
- seeds: Directory for database seed files.
logs
Directory for log files generated by the application.
public
The web root directory containing publicly accessible files.
- css: Directory for CSS files.
- js: Directory for JavaScript files.
- index.php: The entry point for the application.
- minified: Directory for minified JavaScript and CSS files.
uploads
Directory for user-uploaded files.
tmp
Directory for temporary files.
- mail: Directory for emails sent in development and test environments, stored as files.
- cache: Directory for cache files.
test
Directory for unit tests and testing-related files.
vendor
Directory for Composer dependencies.
.php-cs-fixer
Configuration file for PHP-CS-Fixer, a tool for automatically fixing PHP coding standards issues.
phinx.yml
Configuration file for Phinx, a PHP database migration tool.
This directory structure helps to keep your application organized and maintainable, ensuring that related files and configurations are logically grouped together.