Допустим у меня есть переменная $var. Я делаю так: $var = 'Привет!'; И есть у меня html страничка. <html><body></body></html>. Я делаю так: <html><body><?php $var = 'Привет!'; ?></body></html> Как мне вывести содержимое $var, чтобы было <html><body>Привет!</body></html>?
PHP: <html><body><?php $var = 'Привет!'; echo $var ?></body></html> Или: PHP: <?php $var = 'Привет!' ?><html><body><?php echo $var ?></body></html> Или: PHP: <?php $var = 'Привет!' ?><html><body><?=$var?></body></html>
Наверника тут не всё так просто =)) PHP: <? class printer { public static $buffer; static function buffer($var,$code='0') { self::$buffer[$code].=$var; } static function Resulting($code='0',$return=0) { if ($return) return self::$buffer[$code]; else print self::$buffer[$code]; } } ?>
Mr.M.I.T., нечего плодить негибкие решения, если давно уже реализованно на паттернах: PHP: <?php /******************************************************************** Model-View-Controller implementation according to POSA (Pattern-Oriented Software Architecture [url=http://www.hillside.net/patterns/books/Siemens/book.html]http://www.hillside.net/patterns/books/ ... /book.html[/url]) ********************************************************************/ class HelloWorldController { private $model; function __construct($model) { $this->model = $model; } function handleEvent($args) { $this->model->setStrategy($args[2]); $this->model->addText($args[1]); } } class HelloWorldModel { private $text; private $observers = array(); private $strategy; function attach($observer) { $this->observers[] = $observer; } function getData() { $facade = new HelloWorldFacade($this->strategy); return $facade->getHelloWorld().$this->text."\n"; } function addText($text='') { $this->text = $text; $this->notify(); } function setStrategy($strategy) { $this->strategy = $strategy; } function notify() { foreach ($this->observers as $observer) { $observer->update(); } } } class HelloWorldView { private $model; function initialize($model) { $this->model = $model; $model->attach($this); return $this->makeController(); } function makeController() { return new HelloWorldController($this->model); } function update() { $this->display(); } function display() { echo $this->model->getData(); } } /********************************************************************* "Business logic" ********************************************************************/ class HelloWorld { function execute() { return "Привет"; } } class HelloWorldDecorator { private $helloworld; function __construct($helloworld) { $this->helloworld = $helloworld; } function execute() { return $this->helloworld->execute(); } } abstract class HelloWorldEmphasisStrategy { abstract function emphasize($string); } class HelloWorldBangEmphasisStrategy extends HelloWorldEmphasisStrategy { function emphasize($string) { return $string."!"; } } class HelloWorldRepetitionEmphasisStrategy extends HelloWorldEmphasisStrategy { function emphasize($string) { return $string." and ".$string." again"; } } class HelloWorldEmphasizer extends HelloWorldDecorator { private $strategy; function HelloWorldEmphasizer($helloworld,$strategy) { $this->strategy = $strategy; parent::__construct($helloworld); } function execute() { $string = parent::execute(); return $this->strategy->emphasize($string); } } class HelloWorldStrategyFactory { static function make($type) { if ($type == 'repetition') return self::makeRepetitionStrategy(); return self::makeBangStrategy(); } static function makeBangStrategy() { return new HelloWorldBangEmphasisStrategy; } static function makeRepetitionStrategy() { return new HelloWorldRepetitionEmphasisStrategy; } } class HelloWorldFormatter extends HelloWorldDecorator { function execute() { $string = parent::execute(); return $string."\n"; } } class HelloWorldFacade { private $strategy; function __construct($strategyType) { $this->strategy = HelloWorldStrategyFactory::make($strategyType); } function getHelloWorld() { $formatter = new HelloWorldFormatter( new HelloWorldEmphasizer( new HelloWorld,$this->strategy)); return $formatter->execute(); } } $model = new HelloWorldModel; $view = new HelloWorldView; $controller = $view->initialize($model); $controller->handleEvent($_SERVER['argv']); ?>