Thứ Ba, 20 tháng 11, 2018

FuelPHP - Lượt xem

View là lớp trình bày của ứng dụng MVC. Nó tách logic ứng dụng khỏi logic trình bày. Khi một bộ điều khiển cần tạo HTML, CSS hoặc bất kỳ nội dung nào khác thì nó sẽ chuyển tiếp tác vụ đó đến công cụ xem.

Đào tạo lập trình PHP cung cấp một lớp đơn giản và linh hoạt, Xem với tất cả các tính năng cần thiết của một công cụ xem. Xem lớp hỗ trợ hiển thị tệp xem.

Xem tệp là một trang HTML có các hướng dẫn PHP được nhúng. Các biến của tệp xem có thể được thiết lập bằng cách sử dụng lớp View như mảng PHP và được tham chiếu trong tệp xem bằng cách sử dụng khóa của mảng. 

Chúng ta hãy kiểm tra một số phương thức quan trọng của lớp View.

Đào tạo lập trình PHP

làm giả


Mục đích - Tạo đối tượng Chế độ xem mới

Đào tạo lập trình PHP Tham số - Sau đây là các tham số

$ file - Đường dẫn của tệp xem có liên quan đến thư mục lượt xem, nhiên liệu / ứng dụng / lượt xem

$ data - Mảng giá trị

$ filter - Đặt tự động mã hóa, mặc định thành cài đặt trong tệp cấu hình chính

Trả về - Trường hợp của chế độ xem

Ví dụ
$view = View::forge ('path/to/view', array( 
   'title' => "Show employee, 
   'employees' => $employees, 
));

Bộ lọc tự động

Mục đích - Đặt xem có mã hóa dữ liệu hay không

Tham số - Sau đây là tham số

$ filter - true / false

Trả về - Đối tượng xem hiện tại

Ví dụ
$view->auto_filter(); 
$view = $view->auto_filter(false);

set_filename

Đào tạo lập trình PHP Mục đích - Cho phép đặt hoặc thay đổi tệp xem.

Tham số - Sau đây là tham số

$ file - Đường dẫn để xem tệp liên quan đến thư mục lượt xem, nhiên liệu / ứng dụng / lượt xem

Trả về - Đối tượng xem hiện tại

Ví dụ
$view = new View();
$view>set_filename('path/to/view');

bộ

Đào tạo lập trình PHP Mục đích - Đặt giá trị của một hoặc nhiều biến

Tham số - Sau đây là các tham số

$ key - Tên biến hoặc mảng giá trị

$ value - Giá trị / null

$ filter - Cài đặt mã hóa, đúng / sai

Trả về - Đối tượng xem hiện tại

Ví dụ
$view = new View(); 
$view->set(array('name' => 'Jon'));

set_global

set_global tương tự như thiết lập , ngoại trừ nó được áp dụng cho tất cả các khung nhìn và các biến có thể truy cập được bởi tất cả các khung nhìn. Đây là một phương pháp tĩnh.
View::set_global('name', 'Jon', false);

set_safe

Đào tạo lập trình PHP Mục đích - Đặt giá trị của một hoặc nhiều biến với mã hóa an toàn.

Tham số - Sau đây là các tham số

$ key - Tên biến hoặc mảng giá trị

$ value - Giá trị / null

Trả về - Đối tượng xem hiện tại

Ví dụ
$view = new View(); 
$view->set_safe(array('name' => 'Jon'), null); 

được

Đào tạo lập trình PHP Mục đích - Nhận giá trị của một hoặc nhiều biến

Tham số - Sau đây là các tham số

$ key - Tên biến

$ default - Giá trị mặc định được trả về nếu không tìm thấy khóa

Trả về - Giá trị của khóa đầu vào

Ví dụ
$view = new View(); 
$name = $view>get('name');  // name = 'Jon'

kết xuất

Mục đích - Hiển thị các tệp xem thành chuỗi bằng cách hợp nhất nó với các biến cục bộ và toàn cục

Tham số - Sau đây là các tham số

$ file - Tên tập tin xem

Trả về - Tệp xem được hiển thị dưới dạng chuỗi

Ví dụ
$html = View::forge()->render('/path/to/view');

Tạo chế độ xem

Để hiểu các khung nhìn, chúng ta hãy sửa đổi phương thức hành động, action_show của controller, Controller_Employee .

employee.php
<?php  
   class Controller_Employee extends Controller { 
      public function action_show() {
         return View::forge('employee/show'); 
      } 
   }
Bây giờ hãy tạo một nhân viên thư mục trong thư mục views, nằm ở nhiên liệu / app / views . Sau đó, tạo một tệp show.php bên trong thư mục employee và thêm đoạn mã sau.

show.php
<h3> My first view </h3>
Bây giờ, yêu cầu url http: // localhost: 8080 / employee / show và nó tạo ra kết quả sau.

Chuyển dữ liệu sang chế độ xem

Chúng ta có thể truyền dữ liệu đến các khung nhìn bằng cách sử dụng các phương thức Xem như đã thảo luận ở trên. Sau đây là một ví dụ đơn giản.

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); 
   } 
}
Bây giờ, hãy thêm các thay đổi trong tệp xem .

show.php
<html> 
   <body> 
      Hello, <?php echo $name; ?>. 
      Your job is, <?php echo $job; ?>. 
   </body> 
</html>
Sau khi yêu cầu URL, nó sẽ hiển thị tên và công việc như sau:

Xem bộ lọc

Chế độ xem sử dụng mã hóa đầu ra để chuyển bất kỳ thứ gì bạn muốn. Nếu bạn muốn truyền dữ liệu chưa được lọc, chúng tôi có thể sử dụng phương pháp đã đặt.

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; 
   } 
}   
Sau khi yêu cầu URL, nó sẽ hiển thị chi tiết công việc theo kiểu nhấn mạnh, như sau.

Chế độ xem lồng nhau

PHP hỗ trợ chế độ xem lồng nhau. Trong chế độ xem lồng nhau, chế độ xem có thể chứa một hoặc nhiều chế độ xem. Để đặt chế độ xem trong chế độ xem khác, chúng tôi có thể sử dụng phương thức hiển thị như sau.

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(); 
   } 
}
nhiên liệu / ứng dụng / lượt xem / layout.php
<html> 
   <head> 
      <?php echo $head; ?> 
   </head> 
   
   <body> 
      <?php echo $content; ?> 
   </body> 
</html> 
nhiên liệu / ứng dụng / lượt xem / head.php
<title>
   <?php echo $title; ?>
</title> 
nhiên liệu / ứng dụng / lượt xem / nhân viên / show.php
Hello, <?php echo $name; ?>. 
Your job is, <?php echo $job; ?>.
Sau khi yêu cầu URL, http: // localhost: 8080 / employee / nestedview và kiểm tra xem nguồn, nó cung cấp mã sau đây.
<html> 
   <head> 
      <title>Home</title> 
   </head> 
   
   <body> 
      Hello, Jon. 
      Your job is, Designer. 
   </body> 
</html>

Trình điều khiển mẫu

PHP cung cấp một bộ điều khiển, Controller_Template với khái niệm bố cục tích hợp.

Khái niệm bố cục được thực hiện bằng cách sử dụng phương thức before () và after () của Controller.

Để sử dụng bộ điều khiển mẫu, chúng ta cần mở rộng bộ điều khiển bằng Controller_Template thay vì Controller.

Trong khi sử dụng phương thức after () / before (), chúng ta cần gọi parent :: before và parent :: after, ngược lại, template bị phá vỡ.
<?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

Đây là tệp mẫu mặc định trong Fuel. Tệp mẫu được sử dụng để gọi JS, CSS, HTML và partials xem cuộc gọi.

Nó nằm ở nhiên liệu / app / views / . Các mẫu được sử dụng để bọc chế độ xem của bạn trong bố cục với đầu trang, chân trang, thanh bên, v.v.

Chúng tôi có thể thay đổi mẫu mặc định bằng biến mẫu $ trong phương thức hành động như sau.

nhiên liệu / ứng dụng / lớp / bộ điều khiển / 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'); 
      } 
   } 
nhiên liệu / ứng dụng / lượt xem / 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> 
nhiên liệu / ứng dụng / lượt xem / thử nghiệm / index.php
<h3>My Test page</h3>
Bây giờ, yêu cầu URL http: // localhost: 8080 / test và nó tạo ra kết quả sau.

Kết quả

<!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>

Tạo Trang Xem

Bạn có thể tạo trang xem bằng cách sử dụng bảng điều khiển Fuel Oil. Sau đây là cú pháp cơ bản.

oil g controller <controller-name> <page1> <page2> ..

Để tạo một bộ điều khiển quản trị với các trang chủ và đăng nhập, sử dụng lệnh sau đây.

oil g controller admin home login

Kết quả

Creating view: /path/to/app/fuel/app/views/admin/home.php 
Creating view: /path/to/app/fuel/app/views/admin/login.php 
Creating controller: /path/to/app/fuel/app/classes/controller/admin.php

Không có nhận xét nào:

Đăng nhận xét

lập trình PHP cho các nhà phát triển PERL

Chương này sẽ liệt kê những điểm tương đồng và khác biệt chính giữa PHP và PERL. Điều này sẽ giúp các nhà phát triển PERL hiểu PHP rất nhanh...