Originally I had clipped the directory folder at the "basePath" so the folder created in the runtime directory would be no deeper then the folder structure within the "protected folder", I thought doing it that way would be easier to track down the "compiled" version of the template, plus it would be faster to build this path (compared to the crc32 technique).
I thought about allowing assignment of attributes using simply {}, but then we encourage people to make it less XMLish and parsing the attributes could potentially become a real nightmare.
Do you think it is worthwhile to add a shortform for array assignments like
The problem with your approach is that the view path has to be limited to be under basePath. This is not always the case, however. Imagine you have several applications and some view files are shared. You would place those view files outside of the basePath of any application. The CRC way is also used by smarty, I believe (may not be exactly the same).
Regarding the quotes curly brackets, I think either approach has its cons and pros. Maybe support both? Anyway, you decide. I don't suggest using the simplified array syntax (I thought about it too).
Of course ! I had forgotten that the runtime folder could be specified as shared across projects. I will add an attribute to the extension to so that the developer can choose between the two methods, defaulting to the checksum method.
Regarding {} - I’ll run a few tests to see how good my regexp skills are