Учебники

FuelPHP — Просмотров

Вид — это уровень представления приложения 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> ..

Чтобы создать контроллер администратора с домашней страницей и страницами входа в систему, используйте следующую команду.