The fact there are protected methods is historical. There can be interactions between base class and subclasses via overridden protected methods, so protected methods are de-facto a public interface.
Subclassing may cause Fragile Base Class Problem (the non-C++ kind), so I prefer to mark all methods private unless I explicitly intended them to be overridden, thought through interdependencies and committed to not changing them. -- regards, Kornel On 15 sie 2012, at 14:56, Robert Goldsmith <rgoldsm...@names.co.uk> wrote: > Hello :) > > Thanks for those pointers :D I'm also going to override prepare() to throw an > exception if the template needs parsing because this won't be allowed on a > live system. > > One thing I have noticed, however, is that 4 functions in the PHPTAL class > are private rather than protected: > getPreFiltersCacheId() > getPreFilterInstances() > setCodeFile() > getFunctionNamePrefix() > > Is there a specific reason for this or is it just historical? Obviously it is > much harder to subclass a class with private methods. > > Robert > ----- > Robert Goldsmith > rgoldsm...@names.co.uk > > > > > On 15 Aug 2012, at 14:08, Kornel Lesi��ski <kor...@geekhood.net> wrote: > >> The hash is computed in PHPTAL::getFunctionName(). Filename is built from >> that name. >> >> Subclass PHPTAL class and override this method to compute unique name from >> path/settings you care about. >> >> Also override cleanUpGarbage() to stop it from deleting compiled templates. >> >> -- >> regards, Kornel >> >> >> On 15 sie 2012, at 09:59, Robert Goldsmith <rgoldsm...@names.co.uk> wrote: >> >>> Hi all, >>> >>> We're implementing a deployment system using phars and pre-compiled >>> templates from phptal and things are mostly going well but we've noticed >>> that the template file hashes appear to be based on the full path of the >>> template when it is initially compiled. Obviously if we then move the >>> templates (put them in a phar and drop them on a different server) this >>> isn't going to work. >>> >>> Has anyone attempted to change the way the template name hashes are >>> calculated before and can they give me some pointers as to the way to go >>> about doing it? >>> >>> Robert >>> ----- >>> Robert Goldsmith >>> rgoldsm...@names.co.uk >>> >>> >>> >>> >>> >>> _______________________________________________ >>> PHPTAL mailing list >>> PHPTAL@lists.motion-twin.com >>> http://lists.motion-twin.com/mailman/listinfo/phptal >> >> _______________________________________________ >> PHPTAL mailing list >> PHPTAL@lists.motion-twin.com >> http://lists.motion-twin.com/mailman/listinfo/phptal > > > _______________________________________________ > PHPTAL mailing list > PHPTAL@lists.motion-twin.com > http://lists.motion-twin.com/mailman/listinfo/phptal _______________________________________________ PHPTAL mailing list PHPTAL@lists.motion-twin.com http://lists.motion-twin.com/mailman/listinfo/phptal