Için PHP yük PHP kodu + parametreli yürütülmesine gecikmiş?

1 Cevap php

i iki PHP dosyaları var:

  • template.php
  • template.html.php

İlk Şablon için sınıf tanımı. İkinci Ancak PHP yapıları ile gerçek bir HTML tabanlı şablonu, (dolayısıyla. PHP uzantısı) içerir. Ben bu bir melez html / php dosyası çağırır.

Is it possible to create some function in the Template-class (special_include_parse()) hangi alır:

  • $path (melez html / php dosyasına)
  • $model (o $ this-> getModel () veya $ modelini ya da her neyse kullanılarak başvurulan böylece hibrid html / php dosyasındaki kod geçirilir; ...)

?


template.php

class Template {
    function Parse($model) {
        //include('/var/www/template.html.php');
        //fopen('/var/www/template.html.php');
        $return = special_include_parse('/var/www/template.html.php', $model);
    }
}

template.html.php

<html>
    <head>
        <title><? echo $this->getModel()->getTitle(); ?></title>
    </head>
</html>

1 Cevap

(Ben bunu demem rağmen o) um ... neden sadece bu $ set değil ve / temelde PHP sözdizimi düşünüyor template.html.php gerektirir içerir? Temelde:

class Template {
  function Parse($model) {
    ob_start();
    require '/var/www/template.html.php'; // I wouldn't use absolute paths
    $return = ob_get_clean();
  }
}

Ben bu aksi takdirde oldukça basit bir şeye, bir (aslında, ters) gereksiz nesne soyutlama getirerek daha daha zor bir şey yapma bir örnektir düşünüyorum şahsen olsa:

$model = new MyModel(...);
require 'template.html.php';

ve

<html>...
  <h3><?= $model->getStuff(); ?></h3>

Ben size ulaşmak için çalışıyoruz ne onu overcomplicating doğrusu konum neden emin değilim.