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.