Рендване на views от контролери

Pok4

Registered
Здравейте хора,

Сега искам да отделя html-a от екстеншъните и търся начин как това да стане. Ако четете темата за Argos, може би вече знаете, че тя ползва темплейт системата Mustache. Той е много лесен за ползване и разбиране, а и за модифициране и надграждане. Има обаче минуси и аз вече срещнах такъв - не мога да го ползвам за рендване на html в екстеншъните на аргос и мога да ползвам само assign/unassign var функциите му (които са аддон от мен)

Сега търся начин как да рендвам html с променливи от мен, пример:
load->view("ext/pok4/test_ext/test.html",[$variables=>1,$test_key=>1]);
Това нещо трябва да прати тези променливи към този test.html файл, който е в директорията на екстеншъна.
А след това в екстеншъна трябва да имам всичко готово, тоест да покаже покаже html-a от test.html вече готов с пратени променливи и т.н.

Това ми е много наложително, тъй като сега има микс на html/js код в екстеншъните. Искам да оправя всичко да е що годе лесно за писане и манипулация.
Гледам този клас - https://raw.githubusercontent.com/javis/Views/master/src/Pixelatom/Views/View.php (старичък е), но мисля, че има това, което ми трябва, но не съм напълно сигурен дали може да се ползва сам или е писан за някой фреймуърк (май е така)...

Пиша темата, за да видя дали някой от вас е ползвал такова лоудване на custom html файлове, пращайки променливи към тях и с възможност за рендване...
Ясно ми е, че най-вероятно в тези html файлове няма да мога да ползвам темплейтните дефиниции от mustache ({{my_Variable}}), но те и няма да ми трябват, тъй като ще мога да си сендвам мои стойности към конкретен html файл...

Предложете ми класове, които мислите, че ще ми свършат работа, за да ги приложа в моята система.
 
Сега се сетих, че трябва да има вариант тези променливи да се достъпват от html файла, трябва пак да е нещо от рода на {{}} тагове.
Ако няма такъв вариант, дайте някакъв клас, пък аз ще го пусна като тема в гитхъб към създателя на Mustache, да го преработи малко, за да пасне както трябва. Все още всичко се поддържа там.

Edit:
Тук https://codereview.stackexchange.com/questions/19460/is-this-a-proper-way-of-loading-views-in-php
Са писали по темата и има клас, чакам и вашите мнения...

edit2:
Хора, отново реших проблема си, така:

PHP:
        $m = new Mustache_Engine(array('entity_flags' => ENT_QUOTES));
        echo $m->render(file_get_contents("ext/pok4/calladmin/test.html"), ['test_variable'=>1]);

Сега остава да едитна екстеншъните и да отделя html/js миксовете с php-то....
Даже във файловете мога да си ползвам {{}} таговете. Сега в test.html ако кажа:
{{test_variable}} ще ми излезе 1-цата...
 
Последно редактирано:
Не четеш документация явно. Всеки template engine работи на този принцип.
 
Аз бях видял тази функция за рендирането, но я има на няколко места с различно ползване и преди като тествах даваше грешки и се отказах. Сега като остава все по-малко работа по системата и се съсредоточавам само върху едно нещо и ми остава време да оправя нещата...
Записал съм си какво да оправя и след това ще направя и още 1 темплейт.
Със сигурност съм пропуснал някои неща по документацията, има доста работи, но за сега това, което знам ми стига. Утре ще пренапиша екстеншъните и ще дам линк към 1 архив с няколко екстеншъна да видите как са направени :)
 
Искам да са сродни с тези екстеншъни от phpbb 3. Гледах плъгините на е107, но са много зле и има микс пак.
Може да свалиш някой по-сложен и да разгледаш. Phpbb е на symphony писан и ползва twig. Много добре са написани и както при мен, се ползват евенти за инжектиране на екстеншъните.
 

Back
Горе