Overview Of Primary Directories
The Trongate Framework is a collection of directories and files designed to streamline the web development process. Below is a summary of each directory's purpose.
The Engine Directory
The engine directory houses the core functionality of the Trongate framework, including files necessary for loading classes, handling routes, and supporting helpers. Modification of files within this directory is strongly discouraged unless absolutely necessary and understood.
The Config Directory
The config directory stores configuration settings essential to your application. Critical settings such as the website base URL, environment settings, and default controllers are declared here. These settings are globally accessible within your application.
The Modules Directory
The modules directory contains distinct components of the Trongate application, each referred to as a module. Modules encapsulate all necessary functionality for a specific feature of the application, making them self-contained and reusable. Typically, Trongate modules comprise the following three subdirectories:
- Controllers: Handle the business logic of the module.
- Views: Manage the presentation and user interface elements.
- Assets: Store related files such as CSS, JavaScript, and images.
The Templates Directory
The templates directory is intended for HTML templates. Unlike other frameworks that employ a distinct templating engine, Trongate utilizes PHP itself as its templating engine, simplifying the learning curve and enhancing performance.
The Public Directory
The public directory acts as the primary entry point of a Trongate web application, containing the 'index.php' file. It typically holds assets such as CSS, JavaScript, and images that are directly served to clients.
The public and engine directories contain essential license files. These license files hold specific framework version details and play a critical role in managing framework updates, which can optionally be applied via the Trongate Desktop App. Interfering with these license files may disrupt the update process and should be avoided to preserve system integrity.