Van egy php template inheritance nevű projekt, ami kiválóan használható arra, hogy egy ASPX/Razor-szerű renderelési technikát alkalmazzunk alkalmazásainkban: készíthetünk olyan oldalakat, amelyek gyakorlatilag csak a szerkezetét adják mindennek, majd az egyes valódi tartalmat megjelenítő oldalakon (view) rakhatjuk be különböző szekciókba az egyes elemeket akár egymásba ágyazva is.
Ami mindenképp rossz ebben a projectben az a nem OO megközelítés, illetve a debug_backtrace() használata. Az első gondon viszonylag gyorsan lehetett segíteni, a másikon már nem annyira (a legtöbb, amit hirtelen lehetett csinálni: debug_backtrace(defined('DEBUG_BACKTRACE_IGNORE_ARGS') ? DEBUG_BACKTRACE_IGNORE_ARGS : false);), így aztán hegesztettem egy teljesen sajátot, és összevetettem őket.
Sebességben a debug_backtrace() kikönnyítése nem sokat dobott (memóriahasználat biztosan csökkent), legrosszabb esetben (a PHPTI leggyorsabb futási ideje szemben az enyém leglassabb futási idejével) is a sajátom 25-30%-kal gyorsabb, míg egyéb helyzetekben néha 5-6-7-szer gyorsabb. Amin meglepődtam az az volt, hogy a PHPTI nem működött megfelelően, hibázott az egyes elemek összepakolásánál, ugyanis nem megfelelő sorrendben jelentek meg az elemek.
Csinált valaki már hasonlót?