2010-01-14 4 views

Répondre

5

Bien sûr:

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

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

<?php require("Footer.php"); ?> 
+0

vous aimez smarty? – Solar

+0

Oups, j'ai fait une modification pour corriger quelque chose que vous avez corrigé pendant que je l'éditais. Ma faute. – Sam152

+0

solaire, j'aime MVC :) – Sampson

2

C'était le plus léger que j'ai pu trouver.

include("header.php"); 
1

Essayez de regarder Twig par Fabien Potencier.

0

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

loin le meilleur tutoriel que j'ai trouvé. J'ai utilisé cette leçon pour passer mes projets de petite série à OOP et abandonner Procedural. Une grande mise en garde ici et quelque chose que je me suis rendu compte - si vous avez besoin d'un MVC sérieux, il est toujours préférable d'aller avec testé, stable comme CodeIgniter. J'ai fondamentalement utilisé ce tut pour construire un squelette de MVC pour suspendre mon PHP pur (je ne voulais pas réapprendre toutes les commandes du framework, et j'ai beaucoup de classes que j'ai voulu inclure et continuer à utiliser.

Ce tut a aidé milles.

+0

http://stackoverflow.com/questions/1881571/php-mvc-fetching-the-view C'était mon énigme originale ... – DeaconDesperado

0

Voici une toute petite classe que j'ai inventée pour créer des modèles rapides pour les e-mails.

/** 
* 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 '' ; 
     } 
    } 
} 
Questions connexes