A faster, safer templating library for PHP
PHP Yacc Other
Latest commit 2203f94 Mar 18, 2016 @vctrshn vctrshn Merge pull request #23 from vshen94/3.2.0
Fix exception being thrown when template properties were not decoded due to stale timestamps

README.md

Build Status Latest Stable Version Project Status Total Downloads License

Brainy

Brainy

Brainy is a replacement for the popular Smarty templating language. It is a fork from the Smarty 3 trunk.

Brainy is still very new and it's likely that you will encounter some issues. Please report any problems that you encounter.

Why Brainy?

  • Brainy generates clean and fast code by default.
  • Brainy has security defaults that align better with best practices.
  • Brainy does not include features that are infrequently used and increase code bloat.

Because Brainy is a fork of Smarty 3, it shares much of the same syntax and features while eliminating dangerous footguns and making it hard to write bad code.

Getting Started

Check out the Getting Started page on the wiki.

Minimum Requirements

  • PHP 5.4+ or HHVM 3.7+
  • mbstring PHP extension

The mbstring extension is required in order to properly support Unicode in templates and user-provided content. Brainy 3 cannot be run in a mode that does not handle Unicode properly.

Contributing to Brainy

For information on how to set up a local dev environment and run the tests, see the wiki page on Hacking on Brainy.

Where is Brainy headed?

See the project roadmap for information on upcoming releases.

Requested Contributions

If you're interested in helping out, pull requests for the following tasks will be warmly welcomed:

  • Convert all non-public methods to use camel case.
  • Add proper PHPDoc annotations to all functions and methods.
  • Refactoring:
    • Eliminate dead code
    • @ error suppression
    • Increase code coverage
    • etc.
  • Help identify and resolve potential security issues, or find ways to help developers avoid security issues.
  • Performance optimization of generated code

At the time of writing, the project has approximately 68% line coverage.

Support

Need to contact us directly? Email oss@box.com and be sure to include the name of this project in the subject.

Copyright and License

Copyright 2014-2015 Box, Inc. All rights reserved.

Copyright 2002 – 2014 New Digital Group, Inc.

This library is licensed under the GNU Lesser Public License. A copy of the license should have been provided.