Вид — это уровень представления приложения MVC. Он отделяет логику приложения от логики представления. Когда контроллеру необходимо сгенерировать HTML, CSS или любой другой контент, он направляет задачу в механизм представления.
FuelPHP обеспечивает простой и гибкий класс View со всеми необходимыми функциями движка View. Класс представления поддерживает рендеринг файла представления. Просмотр файла представляет собой HTML-страницу со встроенными инструкциями PHP. Переменные файла представления могут быть установлены с использованием класса View в виде PHP-массива и ссылки в файле представления с помощью ключа массива. Давайте проверим некоторые важные методы класса View.
ковать
-
Цель — Создает новый объект View
-
Параметр — следующие параметры
-
$ file — путь к файлу представления относительно папки представлений, fuel / app / views
-
$ data — массив значений
-
$ filter — устанавливает автоматическое кодирование, по умолчанию это настройки в основном файле конфигурации
-
-
Возвращает — Экземпляр представления
Цель — Создает новый объект View
Параметр — следующие параметры
$ file — путь к файлу представления относительно папки представлений, fuel / app / views
$ data — массив значений
$ filter — устанавливает автоматическое кодирование, по умолчанию это настройки в основном файле конфигурации
Возвращает — Экземпляр представления
Например,
$view = View::forge ('path/to/view', array( 'title' => "Show employee, 'employees' => $employees, ));
auto_filter
-
Цель — Установить, следует ли кодировать данные или нет
-
Параметр — следующий параметр
-
$ filter — true / false
-
-
Возвращает — текущий объект просмотра
Цель — Установить, следует ли кодировать данные или нет
Параметр — следующий параметр
$ filter — true / false
Возвращает — текущий объект просмотра
Например,
$view->auto_filter(); $view = $view->auto_filter(false);
set_filename
-
Цель — Позволяет установить или изменить вид файла.
-
Параметр — Следующий параметр —
-
$ file — путь к файлу для просмотра относительно папки views, fuel / app / views
-
-
Возвращает — текущий объект просмотра
Цель — Позволяет установить или изменить вид файла.
Параметр — Следующий параметр —
$ file — путь к файлу для просмотра относительно папки views, fuel / app / views
Возвращает — текущий объект просмотра
Например,
$view = new View(); $view>set_filename('path/to/view');
задавать
-
Цель — установить значение одной или нескольких переменных
-
Параметр — следующие параметры
-
$ key — имя переменной или массив значений
-
$ value — значение / ноль
-
$ filter — настройка кодировки, true / false
-
-
Возвращает — текущий объект просмотра
Цель — установить значение одной или нескольких переменных
Параметр — следующие параметры
$ key — имя переменной или массив значений
$ value — значение / ноль
$ filter — настройка кодировки, true / false
Возвращает — текущий объект просмотра
Например,
$view = new View(); $view->set(array('name' => 'Jon'));
set_global
set_global похож на set , за исключением того, что он применяется ко всем представлениям, а переменные доступны для всех представлений. Это статический метод.
View::set_global('name', 'Jon', false);
set_safe
-
Цель — установить значение одной или нескольких переменных с включенным безопасным кодированием.
-
Параметр — следующие параметры —
-
$ key — имя переменной или массив значений
-
$ value — значение / ноль
-
-
Возвращает — текущий объект просмотра
Цель — установить значение одной или нескольких переменных с включенным безопасным кодированием.
Параметр — следующие параметры —
$ key — имя переменной или массив значений
$ value — значение / ноль
Возвращает — текущий объект просмотра
Например,
$view = new View(); $view->set_safe(array('name' => 'Jon'), null);
получить
-
Цель — Получить значение одной или нескольких переменных.
-
Параметр — следующие параметры
-
$ key — имя переменной
-
$ default — значение по умолчанию, которое будет возвращено, если ключ не найден
-
-
Returns — значение клавиши ввода
Цель — Получить значение одной или нескольких переменных.
Параметр — следующие параметры
$ key — имя переменной
$ default — значение по умолчанию, которое будет возвращено, если ключ не найден
Returns — значение клавиши ввода
Например,
$view = new View(); $name = $view>get('name'); // name = 'Jon'
оказывать
-
Цель — преобразовать файлы представления в строку, объединив ее с локальными и глобальными переменными
-
Параметр — следующие параметры —
-
$ file — имя файла представления
-
-
Возвращает — представленный файл представления как строка
Цель — преобразовать файлы представления в строку, объединив ее с локальными и глобальными переменными
Параметр — следующие параметры —
$ file — имя файла представления
Возвращает — представленный файл представления как строка
Например,
$html = View::forge()->render('/path/to/view');
Создать представление
Чтобы понять представления, давайте изменим метод действия action_show контроллера Controller_Employee .
employee.php
<?php class Controller_Employee extends Controller { public function action_show() { return View::forge('employee/show'); } }
Теперь создайте папку сотрудника в каталоге views, расположенном по адресу fuel / app / views . Затем создайте файл show.php внутри папки сотрудников и добавьте следующий код.
show.php
<h3> My first view </h3>
Теперь запросите URL http: // localhost: 8080 / employee / show, и он даст следующий результат.
Передача данных для просмотра
Мы можем передавать данные в представления, используя методы View, как обсуждалось ранее. Ниже приведен простой пример.
employee.php
class Controller_Employee extends Controller { public function action_show() { $data = array(); //stores variables going to views $data['name'] = ‘Jon’; $data[‘job’] = ‘Designer’; //assign the view to browser output return View::forge('employee/show', $data); } }
Теперь добавьте изменения в файл представления.
show.php
<html> <body> Hello, <?php echo $name; ?>. Your job is, <?php echo $job; ?>. </body> </html>
После запроса URL-адреса он отобразит имя и задание следующим образом:
Просмотр фильтра
Представления используют выходную кодировку для передачи всего, что вы хотите. Если вы хотите передать нефильтрованные данные, мы можем использовать метод set.
employee.php
class Controller_Employee extends Controller { public function action_show() { $view = \View::forge('employee/show'); $view->set('name', 'Jon', true); $view->set('job', '<em>Designer</em>', false); return $view; } }
После запроса URL-адреса он отобразит детали задания в стиле выделения следующим образом.
Вложенные представления
FuelPHP поддерживает вложенные представления. Во вложенных представлениях представление может содержать одно или несколько представлений. Чтобы установить представления в другом представлении, мы можем использовать метод рендеринга следующим образом.
employee.php
class Controller_Employee extends Controller { public function action_nestedview() { //assign variables $data = array(); $data['title'] = 'Home'; $data['name'] = 'Jon'; $data['job'] = 'Designer'; $views = array(); $views['head'] = View::forge('head', $data)->render(); $views['content'] = View::forge('employee/show', $data)->render(); return View::forge('layout', $views, false)->render(); } }
топливо / приложение / просмотров / layout.php
<html> <head> <?php echo $head; ?> </head> <body> <?php echo $content; ?> </body> </html>
топливо / приложение / просмотров / head.php
<title> <?php echo $title; ?> </title>
топливо / приложение / просмотров / сотрудник / show.php
Hello, <?php echo $name; ?>. Your job is, <?php echo $job; ?>.
После запроса URL, http: // localhost: 8080 / employee / nestedview и проверки исходного кода, он дает следующий код.
<html> <head> <title>Home</title> </head> <body> Hello, Jon. Your job is, Designer. </body> </html>
Контроллер шаблонов
FuelPHP предоставляет контроллер Controller_Template со встроенной концепцией компоновки. Концепция макета выполняется с использованием метода Controller before () и after () . Чтобы использовать контроллер шаблона, нам нужно расширить контроллер, используя Controller_Template вместо Controller. При использовании метода after () / before () нам нужно вызывать parent :: before и parent :: after, в противном случае шаблон обрывается.
<?php class Controller_Test extends Controller_Template { public function before() { parent::before(); // do stuff } public function after($response) { $response = parent::after($response); // do stuff return $response; } }
template.php
Это файл шаблона по умолчанию в Fuel. Файл шаблона используется для вызова JS, CSS, HTML и частичных представлений вызова. Он расположен на топливо / приложение / просмотров / . Шаблоны используются, чтобы обернуть ваш вид в макет с верхним, нижним колонтитулом, боковой панелью и т. Д. Мы можем изменить шаблон по умолчанию, используя переменную $ template в методе действия следующим образом.
топливо / приложение / классы / контроллер / test.php
<?php class Controller_Test extends Controller_Template { public $template = 'template_test'; public function action_index() { $this->template->title = 'Example Page'; $this->template->content = View::forge('test/index'); } }
топливо / приложение / просмотров / template_test.php
<!DOCTYPE html> <html> <head> <meta charset = "utf-8"> <title><?php echo $title; ?></title> <?php echo Asset::css('bootstrap.css'); ?> </head> <body> <div> <?php echo $content; ?> </div> </body> </html>
топливо / приложение / просмотров / тест / index.php
<h3>My Test page</h3>
Теперь запросите URL http: // localhost: 8080 / test, и он даст следующий результат.
Результат
<!DOCTYPE html> <html> <head> <meta charset = "utf-8"> <title>Example Page</title> <link type = "text/css" rel = "stylesheet" href = "http://localhost:8080/assets/css/bootstrap.css?1464964766" /> </head> <body> <div> <h3>My Test page</h3> </div> </body> </html>
Создать страницу просмотра
Вы можете создать страницу просмотра, используя консоль Fuel’s Oil. Ниже приведен основной синтаксис.
oil g controller <controller-name> <page1> <page2> ..
Чтобы создать контроллер администратора с домашней страницей и страницами входа в систему, используйте следующую команду.