бесплатная легкая система шаблонов - PullRequest
3 голосов
/ 14 января 2010

Существуют ли какие-либо бесплатные, легкие, не MVC системы шаблонов, сделанные исключительно на PHP? Я не заинтересован в Smarty.

Ответы [ 6 ]

5 голосов
/ 14 января 2010

Sure:

<?php require("Header.php"); ?>

  <h1>Hello World</h1>
  <p>I build sites without "smarty crap"!</p>

<?php require("Footer.php"); ?>
2 голосов
/ 14 января 2010

Это был самый легкий из всех, что я мог найти.

include("header.php");
1 голос
/ 14 января 2010

Попробуйте взглянуть на Веточка Фабьена Потенсьера.

1 голос
/ 14 января 2010

PHP Savant, в основном встроенный код PHP: http://phpsavant.com/

или если вы действительно хотите использовать {template.syntax}, вы можете взглянуть на TinyButStrong: http://tinybutstrong.com/

0 голосов
/ 06 октября 2011

Вот небольшой класс, с которым я пришел, чтобы быстро составить шаблон для электронной почты.

/**
 * Parses a php template, does variable substitution, and evaluates php code returning the result
 * sample usage:
 *       == template : /views/email/welcome.php ==
 *            Hello {name}, Good to see you.
 *            <?php if ('{name}' == 'Mike') { ?>
 *                <div>I know you're mike</div>
 *            <?php } ?>
 *       == code ==
 *            require_once("path/to/Microtemplate.php") ;
 *            $data["name"] = 'Mike' ;
 *            $string = LR_Microtemplate::parse_template('email/welcome', $data) ;
 */
class Microtemplate
{

    /**
     * Micro-template: Replaces {variable} with $data['variable'] and evaluates any php code.
     * @param string $view name of view under views/ dir. Must end in .php
     * @param array $data array of data to use for replacement with keys mapping to template variables {}.
     * @return string
     */


    public static function parse_template($view, $data) {
        $template = file_get_contents($view . ".php") ;
        // substitute {x} with actual text value from array
        $content = preg_replace("/\{([^\{]{1,100}?)\}/e", 'self::get_value("${1}", $data)' , $template);

        // evaluate php code in the template such as if statements, for loops, etc...
        ob_start() ;
        eval('?>' . "$content" . '<?php ;') ;
        $c = ob_get_contents() ;
        ob_end_clean() ;
        return $c ;
    }

    /**
     * Return $data[$key] if it's set. Otherwise, empty string.
     * @param string $key
     * @param array $data
     * @return string 
     */
    public static function get_value($key, $data){
        if (isset($data[$key]) && $data[$key]!='~Unknown') { // filter out unknown from legacy system
            return $data[$key] ;   
        } else {
            return '' ;
        }
    }
}
0 голосов
/ 14 января 2010

http://www.phpaddiction.com/tags/axial/url-routing-with-php-part-one/

Самый лучший урок, который я нашел. Я использовал этот урок, чтобы переключить свои небольшие проекты на ООП и отказаться от процедурного.

Большое предостережение здесь и кое-что, что заставило меня осознать - если вам нужен серьезный MVC, всегда лучше идти с проверенными, стабильными, такими как CodeIgniter. Я в основном использовал эту штуку, чтобы построить каркас MVC, чтобы повесить мой чистый PHP (я не хотел переучивать все команды фреймворка, и у меня есть много классов, которые я хотел включить и продолжать использовать. )

Эта пачка помогла миль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...