foil / foil
PHP template engine for native PHP templates
Installs: 103 908
Dependents: 9
Suggesters: 3
Security: 0
Stars: 170
Watchers: 15
Forks: 24
Open Issues: 14
Requires
- php: >=5.4
- aura/html: ~2.4
- evenement/evenement: ~2.0
- igorw/get-in: ~1.0
- pimple/pimple: ~3.0
Requires (Dev)
- brain/monkey: ~1.1
- mockery/mockery: 0.9.3
- phpunit/phpunit: ~4.8
README
PHP template engine, for PHP templates.
Foil brings all the flexibility and power of modern template engines to native PHP templates. Write simple, clean and concise templates with nothing more than PHP.
Key Features
- Templates inheritance (you'll never miss Twig or Blade)
- Clean, concise and DRY templates
- Dozen of ready-made helper functions and filters
- Easily extensible and customizable
- Multiple template folders with file auto-discover or custom picking
- Auto or manual data escape
- Powerful context API (preassign data to templates using conditions)
- Framework agnostic, centralized API for very easy integration
- Composer ready, fully unit and functional tested, PSR-1/2/4 compliant
...and many more
Why?
Templates engines like Twig, or Blade are a great thing, really.
However, to use them one needs to learn another language with its own syntax and rules.
Moreover, using compiled engines to use even a simple PHP function one needs to write engine extension.
On its side, PHP is already a templating language, but honestly it's not a good one, because it's missing pivotal features of modern template engines, like template inheritance.
Requirements
Foil is framework agnostic, only thing needed is PHP 5.4+ and Composer to add Foil to you PHP project.
License
Foil is open source and released under MIT license. See LICENSE file for more info.
Question? Issues?
Foil is hosted on GitHub. Feel free to open issues there for suggestions, questions and real issues.
Who's Behind Foil
I'm Giuseppe, I deal with PHP since 2005. For questions, rants or chat ping me on Twitter (@gmazzap) or on "The Loop" (Stack Exchange) chat. Well, it's possible I'll ignore rants.