Paxton
Banned User
Alright, it's mostly dedicated to Zisly :wub: as he wrote few times that Modern AAC is confusing about the structure (folders), yep there is many of them but everything has really it's own place.
Anyway I will write only few things here the rest is copied from documentation, and I will show you the most important things.
First of all, Modern AAC is based on CodeIgniter framework, which is one of the most known & best PHP frameworks out there, and we are waiting for CodeIgniter 2.0 it should revolutionize Modern AAC!
Anyway let's get started. So the process of a request first:
Application Flow Chart
The following graphic illustrates how data flows throughout the system:
The index.php serves as the front controller, initializing the base resources needed to run CodeIgniter.
The Router examines the HTTP request to determine what should be done with it.
If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.
Security. Before the application controller is loaded, the HTTP request and any user submitted data is filtered for security.
The Controller loads the model, core libraries, plugins, helpers, and any other resources needed to process the specific request.
The finalized View is rendered then sent to the web browser to be seen. If caching is enabled, the view is cached first so that on subsequent requests it can be served.
Supported Features
These are only features provided by CodeIgniter, now the whole system! There is much more of them!
Model-View-Controller Based System
PHP 4 Compatible
Extremely Light Weight
Full Featured database classes with support for several platforms.
Active Record Database Support
Form and Data Validation
Security and XSS Filtering
Session Management
Email Sending Class. Supports Attachments, HTML/Text email, multiple protocols (sendmail, SMTP, and Mail) and more.
Image Manipulation Library (cropping, resizing, rotating, etc.). Supports GD, ImageMagick, and NetPBM
File Uploading Class
FTP Class
Localization
Pagination
Data Encryption
Benchmarking
Full Page Caching
Error Logging
Application Profiling
Scaffolding
Calendaring Class
User Agent Class
Zip Encoding Class
Template Engine Class
Trackback Class
XML-RPC Library
Unit Testing Class
Search-engine Friendly URLs
Flexible URI Routing
Support for Hooks, Class Extensions, and Plugins
Large library of "helper" functions
Model-View-Controller
CodeIgniter is based on the Model-View-Controller development pattern. MVC is a software approach that separates application logic from presentation. In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.
The Model represents your data structures. Typically your model classes will contain functions that help you retrieve, insert, and update information in your database.
The View is the information that is being presented to a user. A View will normally be a web page, but in CodeIgniter, a view can also be a page fragment like a header or footer. It can also be an RSS page, or any other type of "page".
The Controller serves as an intermediary between the Model, the View, and any other resources needed to process the HTTP request and generate a web page.
CodeIgniter has a fairly loose approach to MVC since Models are not required. If you don't need the added separation, or find that maintaining models requires more complexity than you want, you can ignore them and build your application minimally using Controllers and Views. CodeIgniter also enables you to incorporate your own existing scripts, or even develop core libraries for the system, enabling you to work in a way that makes the most sense to you.
STRUCTURE
Alright so this is written by me, to make it as easy as possible!
First of all, there is index.php which is the complete front, everything is requested through it.
System folder, is basically the whole application, it contains CI libraries etc, but we are interested only in application folder. The application folder contains MODERN AAC, which is basically the application we are aiming for.
The controllers, views and models for Modern AAC are in this folder. If you don't know what are they go back and read again or look at documentation.
Again we have libraries folder, these are libraries that are especially used for this application, so basically for Modern AAC.
Other folders shouldn't bother you, as a normal person should not be changing nothing else M-V-C folders. Even I as a developer rarely use other folders.
In parent folder there is public folder, which is basically what is visible on client side, such as images, java script, CSS etc.
API folder, is an external API which for example VAPUS uses, you shouldn't be playing with it.
Cache folder, is basically folder for caching things.
Compile folder is used by Smarty again as a cache, nothing to care about.
Configs, external configs. Nothing to care about.
Events - Added in Modern AAC 1.0 these files are fired in specific event, new way of publishing scripts.
Injections - Small plugins that injects to a specific website.
Install - Installation of Modern AAC nothing to worry about, can be removed after installed.
Templates - basically themes are there.
Anything else? Ask here!
Anyway I will write only few things here the rest is copied from documentation, and I will show you the most important things.
First of all, Modern AAC is based on CodeIgniter framework, which is one of the most known & best PHP frameworks out there, and we are waiting for CodeIgniter 2.0 it should revolutionize Modern AAC!
Anyway let's get started. So the process of a request first:
Application Flow Chart
The following graphic illustrates how data flows throughout the system:
The index.php serves as the front controller, initializing the base resources needed to run CodeIgniter.
The Router examines the HTTP request to determine what should be done with it.
If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.
Security. Before the application controller is loaded, the HTTP request and any user submitted data is filtered for security.
The Controller loads the model, core libraries, plugins, helpers, and any other resources needed to process the specific request.
The finalized View is rendered then sent to the web browser to be seen. If caching is enabled, the view is cached first so that on subsequent requests it can be served.
Supported Features
These are only features provided by CodeIgniter, now the whole system! There is much more of them!
Model-View-Controller Based System
PHP 4 Compatible
Extremely Light Weight
Full Featured database classes with support for several platforms.
Active Record Database Support
Form and Data Validation
Security and XSS Filtering
Session Management
Email Sending Class. Supports Attachments, HTML/Text email, multiple protocols (sendmail, SMTP, and Mail) and more.
Image Manipulation Library (cropping, resizing, rotating, etc.). Supports GD, ImageMagick, and NetPBM
File Uploading Class
FTP Class
Localization
Pagination
Data Encryption
Benchmarking
Full Page Caching
Error Logging
Application Profiling
Scaffolding
Calendaring Class
User Agent Class
Zip Encoding Class
Template Engine Class
Trackback Class
XML-RPC Library
Unit Testing Class
Search-engine Friendly URLs
Flexible URI Routing
Support for Hooks, Class Extensions, and Plugins
Large library of "helper" functions
Model-View-Controller
CodeIgniter is based on the Model-View-Controller development pattern. MVC is a software approach that separates application logic from presentation. In practice, it permits your web pages to contain minimal scripting since the presentation is separate from the PHP scripting.
The Model represents your data structures. Typically your model classes will contain functions that help you retrieve, insert, and update information in your database.
The View is the information that is being presented to a user. A View will normally be a web page, but in CodeIgniter, a view can also be a page fragment like a header or footer. It can also be an RSS page, or any other type of "page".
The Controller serves as an intermediary between the Model, the View, and any other resources needed to process the HTTP request and generate a web page.
CodeIgniter has a fairly loose approach to MVC since Models are not required. If you don't need the added separation, or find that maintaining models requires more complexity than you want, you can ignore them and build your application minimally using Controllers and Views. CodeIgniter also enables you to incorporate your own existing scripts, or even develop core libraries for the system, enabling you to work in a way that makes the most sense to you.
STRUCTURE
Alright so this is written by me, to make it as easy as possible!
First of all, there is index.php which is the complete front, everything is requested through it.
System folder, is basically the whole application, it contains CI libraries etc, but we are interested only in application folder. The application folder contains MODERN AAC, which is basically the application we are aiming for.
The controllers, views and models for Modern AAC are in this folder. If you don't know what are they go back and read again or look at documentation.
Again we have libraries folder, these are libraries that are especially used for this application, so basically for Modern AAC.
Other folders shouldn't bother you, as a normal person should not be changing nothing else M-V-C folders. Even I as a developer rarely use other folders.
In parent folder there is public folder, which is basically what is visible on client side, such as images, java script, CSS etc.
API folder, is an external API which for example VAPUS uses, you shouldn't be playing with it.
Cache folder, is basically folder for caching things.
Compile folder is used by Smarty again as a cache, nothing to care about.
Configs, external configs. Nothing to care about.
Events - Added in Modern AAC 1.0 these files are fired in specific event, new way of publishing scripts.
Injections - Small plugins that injects to a specific website.
Install - Installation of Modern AAC nothing to worry about, can be removed after installed.
Templates - basically themes are there.
Anything else? Ask here!