Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
class Controller_Home extends Controller\Base {
//create the view
$view = new View('layout');
//assign variables
$view->username = 'Joe14';
$view->set('title', 'Home');
$view->site_title = 'My Website';
//assign views as variables
$view->head = new View('head');
$view->header = new View('header');
$view->content = new View('content');
$view->footer = new View('footer');
//assign to browser output
$this->output = $view;
}
<?php
class SiteController extends Controller {
public function actionIndex()
{
// Указывать layout не обязательно, по умолчанию грузится main
$this->layout = 'myNonStandardLayoutFile';
$this->render('template', array('myVar' => 10));
}
}
// вьюшка layout
<div id="header">
<?php echo View::factory('layout/header') ?>
</div>
<div id="content">
<?php echo View::factory('content/index', array('myVar' => 10)) ?>
</div>
<div id="footer">
<?php echo View::factory('layout/footer') ?>
</div>
$content = Array('foo' => 'bar');
$this->output = View::factory('layout', $content);
<?= $header ?>
<?= $header ?>
<!-- Content -->
<?= $footer ?>
<html>
<head>
<title><?= $title ?></title>
</head>
<body>
<div id="content">
</div>
</body>
</html>
<!-- Content -->
<html>
<head>
<title><?= $title ?></title>
</head>
<body>
<div id="content">
<?= $content ?>
</div>
</body>
</html>
<html>
<head>
<title><?php block('title'); ?> — Хабрахабр</title>
<?php block('extra_head'); ?>
</head>
<body>
<?php startblock('content') ?>
Что-нибудь
<?php endblock() ?>
</body>
<html>
<?php extend('base.php') ?>
<?php startblock('title'); ?>
<?php echo $post->title ?> — Публикация
<?php endblock() ?>
<?php startblock('extra_head') ?>
<link rel="stylesheet" href="css/style.css"/>
<script>
$(function(){ doIt(); });
</script>
<?php endblock() ?>
<?php startblock('content') ?>
<h1><? echo $post->title ?></h1>
<p><? echo $post->body ?></p>
<?php endblock() ?>
class Controller_Post extends Controller\Base {
$posts = new Posts();
$this->output = new View('post', {'post': $posts->get($id)});
}
{% extends "layout.html" %}
{% block content %}
Content of the page...
{% endblock %}
в задачах посложнее 'hello word' 100% прийдется лезть в код фреймворка чтобы посмотреть почему этот метод работает не так как ожидается
set_header не принимает аргументов и не возвращает значения, так что установку значения он не производит никак.
И я бы с вами согласился хотя бы в плане массивов, но в документации я так и не нашел ничего, что дополняло бы стандартный функционал, предоставляемый самим php. Зато нашел тьму синонимов, которые нисколько жизнь не облегчают. Ребята два месяца отказывались от обращений вида $_SERVER[index] в пользу Input::server(index).
$value = isset($array[$key]) ? $array[$key] : $default;$value = arr::get($array, $key, $default);А зачем он используется, если не предоставляет ничего нового и дополнительного
Using short tags should be avoided when developing applications or libraries that are meant for redistribution, or deployment on PHP servers which are not under your control, because short tags may not be supported on the target server. For portable, redistributable code, be sure not to use short tags.
FuelPHP — фреймворк с полным баком