Views
Views offer a convenient mechanism for organizing HTML content in separate files. They facilitate the separation of your controller or application logic from the presentation logic.
Definition and Principles
Read Porto SAP Documentation (#Views).
Rules
- All container-specific Views MUST be placed in the
app/Containers/{Section}/{Container}/UI/WEB/Viewsdirectory. - All general Views MUST be placed in the
app/Ship/Viewsdirectory.
Folder Structure
app
└── Containers
└── Section
└── Container
└── UI
└── WEB
└── Views
├── view-a.php
├── view-b.php
└── ...
Code Example
Views are defined exactly as you would define them in Laravel.
View Loading
Apiato is configured
to load all view files in the app/Containers/{Section}/{Container}/UI/WEB/Views,
app/Ship/Mails/Templates and app/Ship/Views directories.
If the default configuration does not suit your needs, you can customize it via the Apiato Configuration class.
Namespaces
All views are namespaced
using the camelCase of their Section name followed by @ and then the camelCase of their Container name.
For example,
if you have a view named welcome-page in the app/Containers/MySection/MyContainer/UI/WEB/Views directory,
you can access it like this: view(mySection@myContainer::welcome-page).
Attempting to access the view without the namespace,
such as view('welcome-page'), will result in the view not being found.
An exception to this namespace convention is for view files
located in the app/Ship/Views and app/Ship/Mails/Templates directories.
These views will be namespaced using the word ship instead of the Section and Container names.
For example, you would access such a view like this: view(ship::welcome-page).
You may customize the namespace resolution logic via the Apiato Configuration class.