Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Things to get in mind:
Configure your web server to handle all requests to public/index.php
The rest of files have the same name than the class.
Default controller name: AppController
Default action name: index
The bootstrap is in sys/loader.php. Include it to load the entire app as you can see in the index.php
The URL format is: /controller/action/some/extra/and/optional/params?query=string
In each app controller there are some predefined variables:
- $this->context = object with routing and environment data and extra params in the path
- $this->request = $_REQUEST
- $this->result for "after" method
The executed action returns the template variables
The templates are in templates/ folder
- There is a default public.html and error.html layouts
- Each action has a template with this format: controller/action.html
Im planning to add support for medias (html, json, xml...), for now .html by default without other options.
In templates you can use the returned vars by the action in flat format like <?=$var_name?>, or one of $request or $context as array.
To start, simply extend the AppController class and overwrite the "index" action if you want.
Browse to /test to see how exceptions work.
Too much work left to do!
Apache configuration example:
<VirtualHost *:80>
ServerName dev.server
DocumentRoot /var/www/cecina/public
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule ^(.*)$ /var/www/cecina/public/index.php [L]
</IfModule>
</VirtualHost>