demontpx / easy-twig
Easy twig
Installs: 50
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/demontpx/easy-twig
Requires
- php: ^7.2
- ext-json: *
- symfony/dotenv: ^5.0
- symfony/http-foundation: ^5.0
- twig/twig: ^3.0
Requires (Dev)
- phpunit/phpunit: ^8.4
This package is auto-updated.
Last update: 2025-10-29 02:14:51 UTC
README
Easy twig is a very small and simple framework to get started with Twig quickly.
Just start editing the templates/page/index.html.twig to start filling in your front page and templates/base.html.twig to modify the skeleton. To add a new page, for example a 'contact' page, just create the templates/page/contact.html.twig file and you're done! See pages.
If a page can not be found, the template templates/error/404.html.twig will be rendered.
Getting started
Create a new project based on easy twig:
composer create-project demontpx/easy-twig <folder_name>
Pages
Assuming your projects runs on the domain.tld domain:
- templates/page/index.html.twigwill be the homepage of the project, accessible through- http://domain.tld/
- templates/page/error/404.html.twigcontains the "Not found" error page
- Any template outside templates/page/will not be directly accessible for the user and should be used to contain inherited, included and other templates
- Any page inside templates/page/will be directly accessible by its name; for example:
| Template | URL | 
|---|---|
| contact.html.twig | http://domain.tld/contact | 
| information/about-us.html.twig | http://domain.tld/information/about-us | 
| contact-us/index.html.twig | http://domain.tld/contact-us/ | 
Note that removing the last slash will try to access contact-us.html.twig
Configuration
Check out the .env file for configuration settings.
Setting up apache2
Set the document root to the web/ folder. You also might want set AllowOverride All and enable mod_rewrite for some pretty URLs. Your configuration might look a bit like this:
<VirtualHost *:80> ServerName domain.tld ServerAlias www.domain.tld DocumentRoot /var/www/website/public <Directory /var/www/website/public> AllowOverride All </Directory> </VirtualHost>
Setting up Nginx
Configuration might look a bit like this:
server { server_name domain.tld www.domain.tld; root /var/www/website/public; location / { try_files $uri /index.php$is_args$args; } location ~ ^/index\.php(/|$) { fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; internal; } }