35 lines
		
	
	
		
			765 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			765 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\data\template;
 | 
						|
 | 
						|
use nur\data\expr\SimpleContext;
 | 
						|
 | 
						|
class StringTemplate extends SimpleContext implements ITemplate {
 | 
						|
  use TTemplate;
 | 
						|
 | 
						|
  /** @return string le texte du modèle */
 | 
						|
  protected function TEXT(): string {
 | 
						|
    $text = $this->text;
 | 
						|
    if ($text === null) $text = static::TEXT;
 | 
						|
    return $text;
 | 
						|
  } const TEXT = "";
 | 
						|
 | 
						|
  function __construct(?array $data=null) {
 | 
						|
    parent::__construct($data);
 | 
						|
    $this->context = $this;
 | 
						|
  }
 | 
						|
 | 
						|
  /** @var string */
 | 
						|
  protected $text;
 | 
						|
 | 
						|
  function setText(string $text): void {
 | 
						|
    $this->text = $text;
 | 
						|
  }
 | 
						|
 | 
						|
  /** retourner le texte avec les variables renseignées */
 | 
						|
  function apply() {
 | 
						|
    $text = $this->TEXT();
 | 
						|
    $context = $this->getContext();
 | 
						|
    return $this->applyRules($text, $context);
 | 
						|
  }
 | 
						|
}
 |