Commit Graph
100 Commits
Author SHA1 Message Date
Justin Hileman 4588e04365 No need to loop through pragma tokens twice.
Add them directly to the token list as soon as they are tokenized.
2013-05-15 13:37:05 -07:00
Justin Hileman 32461bfb48 Track line number in Tokenizer
(needed for standalone line filtering via Parser)
2013-05-15 13:37:05 -07:00
Justin Hileman b77d2f308e Remove "standalone tag" filtering from Tokenizer. 2013-05-15 13:37:05 -07:00
Justin Hileman 4112bcc3f7 Fix doc comment on inline loader. 2013-05-15 13:36:46 -07:00
Justin Hileman 0564df9651 Add missing comments for pragma tokenizing. 2013-05-12 21:49:36 -07:00
Justin Hileman 697f4ac26b Use a raw array for Parser::buildTree
Improve memory usage by ~15% for very large templates.
2013-05-11 22:32:42 -07:00
Justin Hileman ade0b98761 Remove unnecessary leading slashes. 2013-05-10 17:24:53 -07:00
Justin Hileman c5c36ddd2b Change entity_flags variable names to match PSR-2. 2013-04-27 16:04:05 -07:00
Justin Hileman c6c480013a Merge branch 'release/2.3.1' into dev 2013-04-25 08:25:08 -07:00
Justin Hileman afc20ae1e2 Bump to v2.3.1 2013-04-25 08:23:21 -07:00
Justin Hileman 2327f3839f Fix tokenizing when mbstring.func_overload enabled.
Fixes #144
2013-04-24 09:24:27 -07:00
Justin Hileman 5d186b134b Fix this mention too :) 2013-04-23 21:14:37 -07:00
Justin Hileman 3fb7fdc2ac Update docs, variable name for render passthrough. 2013-04-23 21:13:39 -07:00
Justin Hileman 9e5ef08fbf Reformat LICENSE file. 2013-04-15 19:51:41 -07:00
Justin Hileman e5da080ef4 Merge branch 'release/2.3.0' into dev 2013-04-01 20:56:37 -07:00
Justin Hileman 0f1fc69e5c Bump to v2.3.0 2013-04-01 20:50:30 -07:00
Justin Hileman 723ac37053 s/an/a/ 2013-03-28 16:48:00 -04:00
Justin Hileman 01d413de0d Merge branch 'hotfix/2.2.0' into dev
Conflicts:
	src/Mustache/Compiler.php
	src/Mustache/Engine.php
2013-03-25 09:12:36 -07:00
Justin Hileman 934a5495bb Bump Genghis version. 2013-03-25 09:02:46 -07:00
Justin Hileman c160134b6d Add a 'strict_callables' option to Mustache_Engine
Prevents treating array('ClassName', 'methodName') or array($instance, 'methodName') as section or interpolation callables. This helps protect against arbitrary code evaluation when user input is passed directly into the template.

This setting is recommended for PHP 5.3+, and all PHP 5.2 projects not using section or interpolation lambdas.

The default value is false to preserve backwards compatibility.

See #138
2013-03-23 10:54:13 -07:00
Justin Hileman 7fb7758178 Include header in generated bootstrap files. 2013-03-12 16:40:36 -07:00
Justin Hileman 32a397f93d Remove unused submodule. 2013-03-12 16:20:02 -07:00
Justin Hileman ca44ef68f8 Move loader cascading into the loadPartial method.
This means the `partialsLoader` property is never set to the default loader, fixing things like `setPartials`, but template loading cascades as per the spec.

Add test coverage for partial cascading.
2013-03-12 16:03:58 -07:00
Justin Hileman 72007e65b4 Simplify setPartials nested ifs. 2013-03-12 15:29:18 -07:00
Justin Hileman 12d6884b4b Improve test coverage for custom escapers and charsets. 2013-01-26 16:48:35 -08:00
Justin Hileman c75b4c2e0b Fix compiled templates' PSR-2 compliance. 2013-01-26 16:34:16 -08:00
Justin Hileman d5e199b3b9 Update build_bootstrap with all the new classes! 2013-01-26 16:25:57 -08:00
Justin Hileman a777c587f2 Add resolveValue method to base Template.
DRYs up compiled class output a bit and makes things FASTER!

Speeds up value resolution by 33% for primitives, 25% for methods and properties, and 10% for lambdas.
2013-01-26 16:19:06 -08:00
Justin Hileman cf76a4b8f9 Remove unused escape param from renderInternal 2013-01-26 14:49:14 -08:00
Justin Hileman 05e527fe21 Don't instantiate a LambdaHelper for classes with no Lambdas :) 2013-01-26 14:36:24 -08:00
Justin Hileman 38453d0eac Merge remote-tracking branch 'rothshahar/patch-1' into dev 2013-01-24 16:45:04 -08:00
Justin Hileman b1ca6f3cae Update Lambda Helper docblock. It was a lie. 2013-01-23 06:24:15 -08:00
Justin Hileman e5bc8d5edf Add a CascadingLoader implementation. 2013-01-21 10:26:12 -08:00
Justin Hileman b22d15a759 Add an inline template loader.
This loader is awesome for micro-frameworks such as Silex :)
2013-01-21 10:03:57 -08:00
Justin Hileman 59020c2e4f Remove unnecessary @implements annotations. 2013-01-21 10:02:58 -08:00
Justin Hileman 5fcd9f6d25 mention UnknownTemplateException in loader interface 2013-01-20 15:52:21 -08:00
Justin Hileman a20068657e Link to main docs more prominently 2013-01-20 11:24:59 -08:00
Justin Hileman 1f07edd1ad Bail early on log formatting if message has no placeholders. 2013-01-20 10:59:36 -08:00
Justin Hileman d0023b5baa Merge branch 'feature/catchable-exceptions' into dev 2013-01-20 10:51:06 -08:00
Justin Hileman 8b02366a3f Add test coverage for new exception types. 2013-01-20 10:50:00 -08:00
Justin Hileman 0436c59477 Improve Mustache exception types, catchability.
* Subclass common exception types (runtime, logic, invalid argument).
 * Add new "unknown x" exceptions for filters, helpers and templates.
 * Make all Mustache exceptions implement Mustache_Exception interface… Gotta catch 'em all!
2013-01-20 10:35:55 -08:00
Justin Hileman 5e69e63ffb Merge branch 'feature/bootstrap' into dev 2013-01-12 09:22:59 -08:00
Justin Hileman d766076b5a Add LambdaHelper and Logger to build_bootstrap. 2013-01-12 09:17:33 -08:00
Justin Hileman 01bcf6a51a Add a build_bootstrap script.
Generates `mustache.php`, a single-file bootstrap library which is a lot easier to include in your project.
2013-01-12 09:10:33 -08:00
Justin Hileman ff66639719 Add Symfony ClassLoader (needed for bootstrap) 2013-01-12 09:10:10 -08:00
Justin Hileman 64dbf3fcb0 Merge branch 'release/2.1.0' into dev 2013-01-11 23:22:53 -08:00
Justin Hileman 6ac9cf03e4 Merge branch 'release/2.1.0' 2013-01-11 23:18:03 -08:00
Justin Hileman 638ed9abc1 Bump version to 2.1.0 2013-01-11 23:17:53 -08:00
Justin Hileman d252fddf4a Add plug for PSR-3 2013-01-11 22:53:27 -08:00
Justin Hileman 1515f5126b Update logger to implement accepted PSR log spec
Add tests!
2013-01-11 22:48:43 -08:00
Justin Hileman 7522e2206d Update loging to match (proposed) logging PSR. 2012-11-30 19:01:47 -08:00
Justin Hileman d1fb1d86c5 Handle prematurely closed streams in StreamLogger. 2012-11-28 22:45:15 -08:00
Justin Hileman 8c059f566b MonologLogger should not extend AbstractLogger. 2012-11-28 22:45:15 -08:00
Justin Hileman 782017e461 Add get/setLevel to AbstractLogger. 2012-11-28 22:45:15 -08:00
Justin Hileman cd4e6b3b26 Initial logging proposal.
C.f. #112

Add logging to the Mustache Engine.

 * Add a Logger interface.
 * If a Logger instance is passed to the Engine constructor
   (or added later via setLogger) template compiling,
   caching, errors and missing partials will be logged.
 * Add a Stream Logger and Monolog Logger implementation. You
   should use the Monolog Logger.
2012-11-28 22:45:15 -08:00
Justin Hileman 2e97db3fc0 Clean up options documentation, order. 2012-11-28 20:28:03 -08:00
Justin Hileman 1792140afa Default cache permissions to the current umask.
Use system-defined umask by default, and strongly recommend going that route, but allow overrides.
2012-11-28 20:24:14 -08:00
Justin Hileman 042d537992 Allow "empty" filesystem loader extension.
Fixes #123
2012-11-28 12:59:06 -08:00
Justin Hileman 1560863c49 Failing test for empty-string filesystem loader extension.
See #123
2012-11-28 12:58:20 -08:00
Justin Hileman a6e09fd457 Learn to English 2012-10-01 15:46:14 -07:00
Justin Hileman 5b8e2215e2 Adding CONTRIBUTING file 2012-10-01 15:44:49 -07:00
Justin Hileman 242e94c91b Avoid indentomatic with long filter chains. 2012-10-01 14:51:15 -07:00
Justin Hileman 2872dd5048 Another non-callable test case for good measure 2012-10-01 14:51:15 -07:00
Justin Hileman fc453b5d01 Better filters implementation:
* Throw UnexpectedValueException when unknown
   filter is found.
 * More optimized compiler code.
 * Falsey initial values will still be fed through
   the pipe.
2012-10-01 14:51:15 -07:00
Justin Hileman 1cf44d5de9 First value in the pipe should be interpolated first. 2012-10-01 14:51:15 -07:00
Justin Hileman a64a6f82ee Handle broken pipes 2012-10-01 14:51:15 -07:00
Justin Hileman d209d1aea9 Implement {{% FILTERS }} pragma. 2012-10-01 14:51:14 -07:00
Justin Hileman f73df2af68 Add pragmas to compiler, tokenizer. 2012-10-01 14:37:39 -07:00
Justin Hileman 6a462c6792 Merge branch 'hotfix/2.0.2' into dev 2012-09-12 09:13:16 -07:00
Justin Hileman d99be3444e Merge branch 'hotfix/2.0.2' 2012-09-12 09:13:06 -07:00
Justin Hileman cf3c86f415 Bump patch version 2012-09-12 09:13:01 -07:00
Justin Hileman 5504f59cba Merge branch 'hotfix/2.0.1' into dev 2012-09-12 09:08:04 -07:00
Justin Hileman d98153e1e3 Merge branch 'hotfix/2.0.1' 2012-09-12 09:07:44 -07:00
Justin Hileman 43fbd5060c Bump patch version 2012-09-12 09:07:38 -07:00
Justin Hileman d1b5601bd2 Fix class names in documentation 2012-08-21 12:59:15 -07:00
Justin Hileman 277288137b Coding standards fixes. 2012-08-02 10:36:07 -07:00
Justin Hileman cc7d164a42 Coding standards fix. 2012-08-02 10:32:35 -07:00
Justin Hileman 510f6cafd1 Merge branch 'dev' into feature/lambda-helper 2012-08-02 10:03:30 -07:00
Justin Hileman 5f29e8305b Fix Context::find
Don't ask closures about their methods or properties
2012-08-01 23:08:50 -07:00
Justin Hileman 83cf3158ae Context::find Failing test
Closures don't like it when you touch their properties.
2012-08-01 23:08:17 -07:00
Justin Hileman 169e6e0a1f Fix whitespace in a few test files (PSR-2) 2012-07-27 17:58:55 -07:00
Justin Hileman 52c7ccf1b9 Pass a helper to section lambdas 2012-07-23 11:56:23 -07:00
Justin Hileman 9e436f8c07 Merge branch 'release/2.0.0' into dev 2012-07-09 15:02:10 -07:00
Justin Hileman cf22d1492f Merge branch 'release/2.0.0'
Conflicts:
	.gitmodules
	Mustache.php
	test/fixtures/examples/i18n/I18n.php
	vendor/spec
2012-07-09 14:55:26 -07:00
Justin Hileman 0673292ac8 Bump version to 2.0.0 2012-07-09 14:53:10 -07:00
Justin Hileman 27c7719a33 Travis changes available point releases too often. 2012-06-13 17:40:51 -07:00
Justin Hileman 0c22b75ec1 Version bump to 2.0.2-rc.1 2012-06-13 12:51:37 -07:00
Justin Hileman 83b6f935f7 Fixes for PSR-1/2 2012-06-13 12:50:18 -07:00
Justin Hileman 7750a41369 Minor code style cleanup. 2012-05-17 16:21:14 -07:00
Justin Hileman d8bc0b870f 'Improve' code coverage :) 2012-05-17 16:21:04 -07:00
Justin Hileman 49e47de612 Use versions Travis actually supports 2012-05-17 15:02:28 -07:00
Justin Hileman 5486537b10 Composer updates 2012-05-17 14:58:28 -07:00
Justin Hileman 4dd4db6065 Code style cleanup. 2012-05-03 08:03:54 -07:00
Justin Hileman 2448992cc8 Update to proposed PSR-1 coding standard.
* 4 space (no tab) indent
 * K&R-style braces
2012-05-01 22:03:39 -07:00
Justin Hileman be5cfb3e9e Rename Mustache_Mustache to Mustache_Engine.
Because the former was just too absurd to keep typing.
2012-05-01 21:30:22 -07:00
Justin Hileman 1ffd7c1a8f Remove some more slashes for 5.2. 2012-05-01 14:25:02 -07:00
Justin Hileman 0135107769 Only PHP >= 5.3.0 can call templates directly. 2012-05-01 14:20:26 -07:00
Justin Hileman 36fbb28387 Remove namespace from exception. 2012-05-01 14:20:11 -07:00
Justin Hileman a47289607d Templates are only callable in 5.3+ 2012-05-01 14:08:14 -07:00
Justin Hileman 291ca6d4cb Update the test suite config to actually exclude FiveThree 2012-05-01 14:05:50 -07:00