Thứ Tư, 27 tháng 6, 2018

PHP - Lập trình biểu mẫu

PHP cung cấp ba lớp, Form Fieldset ,, và Input ,, để thực hiện lập trình biểu mẫu.

Lớp biểu mẫu cung cấp tùy chọn để tạo tất cả các phần tử biểu mẫu HTML.

Fieldset class cung cấp một tùy chọn để tạo phần tử html thông qua các phương thức mức cao hơn, tích hợp các mô hình và xác nhận hợp lệ.

Lớp đầu vào cung cấp một tùy chọn để phân tích cú pháp dữ liệu được gửi qua các biểu mẫu html cũng như các tham số http, các biến máy chủ và các tác nhân người dùng.

Trong chương này, chúng ta hãy học lập trình PHP Form trong PHP.

Hình thức

Như đã thảo luận ở trên, lớp Form cung cấp các phương thức để tạo các phần tử biểu mẫu html và các phương thức quan trọng như sau:

mở()

open () được sử dụng để tạo một biểu mẫu mới. Nó cung cấp hai tham số sau đây -

$ attribute - thuộc tính của thẻ biểu mẫu dưới dạng mảng hoặc chỉ là URL hành động dưới dạng chuỗi.

$ hidden - mảng của tên trường ẩn và giá trị của chúng.
echo Form::open('/employee/add'); 
echo Form::open(array('action' => '/employee/add', 'method' => 'post'));

gần()

close () chỉ cần đóng biểu mẫu.
echo Form::close();

đầu vào()

input () tạo phần tử đầu vào html. Nó có ba thông số sau,

$ field - tên của phần tử đầu vào

$ value - giá trị của phần tử đầu vào

$ attributes - thuộc tính của phần tử đầu vào như mảng
echo Form::input('name', 'jon', array('style' => 'border: 20px;'));

yếu tố nhãn

nhãn tạo phần tử nhãn html. Nó có ba thông số sau,

$ label - nhãn để hiển thị

Id phần tử biểu mẫu id được liên kết

$ thuộc tính - thuộc tính của phần tử nhãn làm mảng
echo Form::label('Employee Name', 'employee_name');

ẩn

ẩn tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành ẩn.

mật khẩu

mật khẩu tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành mật khẩu.

radio

radio tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành radio. Nó có bốn thông số sau,

$ field - tên của phần tử đầu vào

$ value - giá trị của phần tử đầu vào

$ checked - cho dù mục được kiểm tra hay không (đúng / sai)

$ attributes - thuộc tính của phần tử đầu vào như mảng
echo Form::label('Male', 'gender'); 
echo Form::radio('gender', 'Male', true); 
echo Form::label('Female', 'gender'); 
echo Form::radio('gender', 'Female');

hộp kiểm

hộp kiểm tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành hộp kiểm. Nó có bốn thông số sau,

$ field - tên của phần tử đầu vào

$ value - giá trị của phần tử đầu vào

$ checked - cho dù mục được kiểm tra hay không (đúng / sai)

$ attributes - thuộc tính của phần tử đầu vào như mảng
echo Form::label('Male', 'gender'); 
echo Form::checkbox('gender', 'Male', true);
echo Form::label('Female', 'gender'); 
echo Form::checkbox('gender', 'Female');

tập tin

tệp tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào thành tệp.

textarea

textarea tạo phần tử textarea html. Nó có ba thông số sau,

$ field - tên của phần tử textarea

$ value - giá trị của phần tử textarea

$ attribute - thuộc tính của phần tử textarea dưới dạng mảng
echo Form::textarea ('description', 'original data (value)', array ('rows' => 6, 
      'cols' => 8)); 

lựa chọn

chọn tạo phần tử chọn HTML. Nó có bốn tham số sau đây -

$ field - tên của phần tử select

$ values - giá trị lựa chọn ban đầu

$ tùy chọn - tùy chọn dưới dạng mảng. Các tùy chọn có thể được nhóm lại bằng cách sử dụng mảng lồng nhau

$ attributes - thuộc tính của phần tử đầu vào như mảng
echo Form::select ( 
   'country',  
   'none',  
   array ( 
      'none'  => 'None', 
      'asia'  => array ( 
         'in' > 'India', 
         'cn' => 'China' 
      ), 
      
      'us' => 'United States' 
   ) 
);

Gửi đi

gửi tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào để gửi.

nút

nút tạo phần tử nút html. Nó có ba thông số sau,

$ field - tên của phần tử nút

$ value - giá trị của phần tử nút

$ thuộc tính - thuộc tính của phần tử nút dưới dạng mảng
echo Form::button('emp_submit', 'Submit');

cài lại

thiết lập lại tương tự như phương thức nhập, ngoại trừ nó đặt loại phần tử đầu vào để đặt lại.

fieldset_open

fieldset_open tạo tập hợp trường html và phần tử chú giải. Nó có hai tham số sau đây -

thuộc tính - thuộc tính của phần tử fieldset dưới dạng mảng

huyền thoại - tên của truyền thuyết để tạo
// returns <fieldset class = "example-class" id = "example-id">
<legend>
   Custom Legend
</legend> 

echo Form::fieldset_open (array (
   'class'  => 'example-class', 
   'id'     => 'exampleid', 
   'legend' => 'Custom Legend'
));

fieldset_close

fieldset_close tạo thẻ đóng của trường HTML.
// returns </fieldset> 
echo Form::fieldset_close(); 

Lớp đầu vào

Lớp đầu vào cung cấp các phương thức để đọc tất cả dữ liệu yêu cầu cùng với các chi tiết biểu mẫu. Một số phương pháp quan trọng như sau:

uri
uri trả về URI hiện tại của yêu cầu
// request: http://localhost:8080/employee/welcome  
echo Input::uri(); // return /employee/welcome

phương pháp

phương thức trả về phương thức HTTP được sử dụng trong yêu cầu
echo Input::method() // "POST"

được

được phép đọc các biến $ _GET. Nó có hai tham số sau,

$ index - chỉ mục của mảng $ _GET

$ default - giá trị mặc định, nếu không tìm thấy chỉ mục.
echo Input::get('age', '20'); // returns $_GET['age']

bài đăng

bài cho phép đọc các biến $ _POST. Nó có hai tham số sau,

$ index - chỉ mục của mảng $ _POST

$ default - giá trị mặc định, nếu không tìm thấy chỉ mục
echo Input::get('age', '20'); // returns $_POST['age']

param

param cho phép tìm nạp mục từ các biến $ _GET, $ _POST, $ _PUT hoặc $ _DELETE. Nó có hai tham số sau,

$ index - chỉ mục của mảng

$ default - giá trị mặc định, nếu không tìm thấy chỉ mục

Nếu không có tham số nào được chỉ định, nó sẽ trả về tất cả các mục.
echo Input::param('age', '20'); // returns $_POST['age']

tập tin

tệp cho phép đọc biến $ _FILE. Nó có hai tham số sau,

$ index - chỉ mục của mảng $ _POST

$ default - giá trị mặc định, nếu không tìm thấy chỉ mục
echo Input::file();

is_ajax

is_ajax trả về true, nếu yêu cầu được thực hiện thông qua AJAX.
echo Input::is_ajax() // return false

giao thức

giao thức trả về giao thức HTTP được sử dụng trong yêu cầu.
echo Input::protocol() // returns "HTTP"

ip

ip trả về địa chỉ IP mà yêu cầu được thực hiện.
echo Input::ip() // returns "84.45.34.24" (Public IP Address)

real_ip

real_ip cố gắng trả về địa chỉ IP thực (nếu máy khách đứng sau proxy) thông qua đó yêu cầu được thực hiện.
echo Input::real_ip() // returns "10.76.12.1" (local private IP Address)

máy chủ

máy chủ cho phép đọc các biến $ _SERVER. Nó có hai tham số sau,

$ index - chỉ mục của mảng $ _POST

$ default - giá trị mặc định, nếu không tìm thấy chỉ mục.
echo Input::server('HTTP_HOST'); // returns localhost:8080

người giới thiệu

liên kết giới thiệu trả về liên kết giới thiệu từ biến $ _SERVER. Nó là một phương thức tắt để có được http referrer của yêu cầu hiện tại.

đại lý người dùng

user_agent trả về tác nhân người dùng từ biến $ _SERVER. Đó là một phương thức tắt để có được tác nhân người dùng http của yêu cầu hiện tại.

chuỗi truy vấn

query_string trả về chuỗi truy vấn từ biến $ _SERVER. Đó là một phương thức tắt để nhận chuỗi truy vấn của yêu cầu hiện tại.

tiêu đề

tiêu đề trả lại tiêu đề cụ thể hoặc tất cả các tiêu đề. Nó có hai tham số sau đây -

$ index - tên của các tiêu đề HTTP

$ default - giá trị mặc định, nếu không tìm thấy chỉ mục.
echo Input::headers('Content-Type'); // returns "text/html"

sự mở rộng

mở rộng trả về phần mở rộng URI của yêu cầu hiện tại.
// Example URL: http://localhost/test/ 
echo Input::extension();  // NULL  

// Example URL: http://localhost/test.html 
echo Input::extension();  // 'html'

Ví dụ làm việc

Hãy tạo một biểu mẫu đơn giản để thêm nhân viên mới sử dụng lớp Form và Input.

Tạo biểu mẫu

Tạo hành động mới, get_add trong trình điều khiển nhân viên như sau.
public function get_add() { 
   return Response::forge(View::forge('employee/add')); 
} 
Bây giờ, hãy thêm chế độ xem cho hành động, nhiên liệu / ứng dụng / lượt xem / nhân viên / add.php như sau.
<!DOCTYPE html> 
<html lang = "en"> 
   <head> 
      <title>Employee :: add page</title> 
      <meta charset = "utf-8"> 
      <meta name = "viewport" content = "width = device-width, initial-scale = 1"> 
      <?php echo Asset::css('bootstrap.css'); ?> 
   </head>
   
   <body> 
      <div class = "container"> 
         <?php 
            echo Form::open(array('action' => 'employee/add', 'method' => 'post')); 
         ?>  
         
         <div class = "form-group"> 
            <?php 
               echo Form::label('Employee name:', 'name'); 
               echo Form::input('name', '', array('class' => 'form-control')); 
            ?> 
         </div> 
         
         <div class = "form-group"> 
            <?php 
               echo Form::label('Employee age:', 'age'); 
               echo Form::input('age', '', array('class' => 'form-control')); 
            ?> 
         </div> 
         
         <?php echo Form::button('frmbutton', 'Submit', array(
            'class' => 'btn btn-default')); 
         ?> 
         
         <?php 
            echo Form::close(); 
         ?> 
      </div> 
   </body> 
   
</html>
Ở đây, chúng tôi đã sử dụng bootstrap để thiết kế biểu mẫu. PHP cung cấp hỗ trợ đầy đủ cho các thành phần bootstrap. Bây giờ, yêu cầu trang, http: // localhost: 8080 / employee / add sẽ hiển thị biểu mẫu sau

NIIT-ICT
ảnh minh họa


Biểu mẫu quy trình

Tạo hành động mới, post_add để xử lý biểu mẫu và thêm dữ liệu nhân viên do người dùng nhập vào cơ sở dữ liệu trong trình điều khiển nhân viên như sau.
public function post_add() { 
   $name = Input::post('name'); 
   $age = Input::post('age'); 
   $model = new model_employee(); 
   $model->name = $name; 
   $model->age = $age; 
   $model->save();  
   Response::redirect('employee/list'); 
}

Ở đây, chúng tôi đã được chuyển hướng đến trang danh sách nhân viên, khi người dùng nhập dữ liệu được lưu vào cơ sở dữ liệu. Tiếp theo, chúng ta sẽ tạo trang danh sách nhân viên.

Danh sách nhân viên

Tạo hành động mới, action_list để liệt kê nhân viên trong cơ sở dữ liệu như sau.
public function action_list() { 
   $data = array(); 
   $data['emps'] = model_employee::find('all');
   return Response::forge(view::forge('employee/list', $data)); 
}
Tạo chế độ xem mới, nhiên liệu / ứng dụng / lượt xem / nhân viên / danh sách cho hành động trên như sau.
<ul> 
   <?php 
      foreach($emps as $emp) {  
   ?> 
   <li><?php echo $emp['name']; ?></li> 
   <?php 
   } 
   ?> 
</ul> 

Kiểm tra biểu mẫu

Bây giờ, yêu cầu URL, http: // localhost: 8080 / employee / add , nhập một số dữ liệu nhân viên như được hiển thị trong ảnh chụp màn hình sau và gửi biểu mẫu.

NIIT-ICT
ảnh minh họa

Sau đó, nó cho thấy tất cả các nhân viên (bao gồm cả một nhân viên mới được thêm) có sẵn trong cơ sở dữ liệu như sau:

NIIT-ICT
ảnh minh họa

Thứ Năm, 21 tháng 6, 2018

PHP - Người thuyết trình

Học lập trình PHP cung cấp một lớp bổ sung sau khi bộ điều khiển tạo ra các khung nhìn. Khi bộ điều khiển xử lý đầu vào và được thực hiện với logic nghiệp vụ, nó sẽ gửi điều khiển đến Trình bày , điều này sẽ xử lý logic phụ như tìm nạp dữ liệu từ cơ sở dữ liệu, thiết lập dữ liệu xem, v.v. vật.

Chúng ta có thể render các khung nhìn bằng cách sử dụng lớp Presenter như sau:

nhiên liệu / ứng dụng / lớp / bộ điều khiển / employee.php
public Controller_Employee extends Controller { 
   public function action_welcome() { 
      return Presenter::forge('employee/hello'); 
   } 
}
Vị trí mặc định của lớp trình bày là nhiên liệu / ứng dụng / lớp / người trình bày / . Sau đây là một ví dụ đơn giản.

nhiên liệu / ứng dụng / lớp học / người trình bày / nhân viên / hello.php
<?php  
   class Presenter_Employee_Hello extends Presenter { 
      public function view() { 
         $this->name = Request::active()->param('name', 'World'); 
      } 
   } 


Tệp xem của lớp người trình bày ở trên giải quyết cho nhân viên / hello.php liên quan đến thư mục lượt xem , như được chỉ định.

nhiên liệu / ứng dụng / lượt xem / nhân viên / hello.php
<h3>Hi, <?php echo $name; ?></h3> 
Cuối cùng, thay đổi tuyến đường để phù hợp với hành động chào mừng của nhân viên, được hiển thị như sau:

nhiên liệu / app / config / routes.php
'employee/hello(/:name)?' => array('employee/welcome', 'name' => 'hello'), 

Bây giờ, yêu cầu URL, http: // localhost: 8080 / employee / hello / Jon hiển thị kết quả sau.

Kết quả

NIIT-ICT
ảnh minh họa

Thứ Tư, 20 tháng 6, 2018

PHP - Yêu cầu & phản hồi

Yêu cầu HTTP và phản hồi HTTP đóng một vai trò quan trọng trong bất kỳ ứng dụng web nào. Chúng tôi cần có được các chi tiết đầy đủ về yêu cầu http để xử lý nó đúng cách. Sau khi xử lý, chúng tôi cần gửi dữ liệu đã xử lý cho khách hàng thông qua phản hồi http.

Khóa học lập trình PHP cung cấp lớp Yêu cầu và Phản hồi xuất sắc để đọc và viết yêu cầu HTTP và phản hồi HTTP tương ứng. Hãy để chúng tôi tìm hiểu về cả lớp Yêu cầu và Phản hồi trong chương này.

Yêu cầu

Trong một ứng dụng web điển hình, ứng dụng cần phân tích các chi tiết của yêu cầu hiện tại. Lớp yêu cầu cung cấp các phương thức đơn giản để phân tích cú pháp yêu cầu hiện tại sẽ được ứng dụng xử lý. Yêu cầu cũng cung cấp tùy chọn để tạo yêu cầu mới bằng cách hoạt động như một ứng dụng khách http.

Việc tạo một yêu cầu mới cho phép ứng dụng yêu cầu một phần khác của ứng dụng hoặc hoàn toàn một ứng dụng khác và hiển thị kết quả. Chúng ta hãy tìm hiểu cách phân tích cú pháp yêu cầu đến trong chương này và tìm hiểu cách tạo một yêu cầu mới trong chương Yêu cầu HMVC.

Phân tích cú pháp một yêu cầu

Lớp yêu cầu cung cấp ba phương thức để có được các chi tiết của yêu cầu http. Chúng như sau,

active - Đây là một phương thức tĩnh, trả về yêu cầu http đang hoạt động hiện tại.
$currentRequest = Request::active();
param - Nó trả về giá trị của tham số được chỉ định. Nó chứa hai đối số. Đối số đầu tiên là tên tham số và đối số thứ hai là giá trị trả về, nếu tham số không có sẵn trong yêu cầu http hiện tại.
$param = Request::active()->param('employee_name', 'none');
params - Nó giống như param ngoại trừ nó trả về tất cả các tham số như một mảng.
$params = Request::active()->params();

Thí dụ

Chúng ta hãy tạo một biểu mẫu đơn giản và xử lý biểu mẫu bằng cách sử dụng lớp yêu cầu.

Bước 1 - Tạo một hành động mới, action_request trong bộ điều khiển nhân viên.
public function action_request() { 
}
Bước 2 - Gọi phương thức yêu cầu để nhận tất cả các tham số của yêu cầu hiện tại.
public function action_request() { 
   $params = Request::active()->params(); 
}
Bước 3 - Dump mảng tham số đã tìm nạp.
public function action_request() { 
   $params = Request::active()->params();  
   echo dump($params); 
}
Bước 4 - Thay đổi định tuyến để bao gồm các tham số trong tệp cấu hình tuyến đường, nhiên liệu / app / config / routes.php
'employee/request(/:name)?' => array('employee/request', 'name' => 'name'),

Bây giờ, yêu cầu hành động mới, http: // localhost: 8080 / employee / request / Jon, nó sẽ hiển thị phản hồi sau.

NIIT-ICT

Phản ứng

Lớp phản hồi cung cấp các tùy chọn để tạo ra một phản hồi http. Theo mặc định, chúng tôi không cần sử dụng lớp phản hồi trực tiếp trong hầu hết các trường hợp. Thay vào đó, chúng ta sử dụng View (mà chúng ta sẽ tìm hiểu trong chương tiếp theo) để tạo ra phản hồi http. Xem ẩn phản hồi http từ nhà phát triển và gửi phản hồi cho khách hàng bằng cách sử dụng lớp Responsebên dưới . Trong trường hợp nâng cao, chúng tôi sử dụng lớp Phản hồi trực tiếp và tạo một phản hồi http hoàn chỉnh.

Tạo phản hồi

Phản hồi bao gồm tiêu đề và nội dung. Tiêu đề chính là mã trạng thái http. Mã trạng thái Http là các mã tiêu chuẩn được định nghĩa trong giao thức HTTP để mô tả phản hồi. Ví dụ: mã trạng thái, 200 nghĩa là yêu cầu thành công.

Lớp đáp ứng cung cấp ba đối số để tạo phản hồi http,

$ body - body của câu trả lời http

$ status_code - mã trạng thái của phản hồi http

$ headers - tiêu đề tùy chọn dưới dạng mảng
$body = "Hi, FuelPHP"; 
$headers = array ( 
   'Content-Type' => 'text/html', 
); 
$response = new Response($body, 200, $headers);
Chúng ta hãy tạo một action mới, action_response trong controller của nhân viên như sau.
public function action_response() { 
   $body = "Hi, FuelPHP"; 
   $headers = array ('Content-Type' => 'text/html',); 
   $response = new Response($body, 200, $headers); 
   
   return $response; 
}

Kết quả

NIIT-ICT
ảnh minh họa

Phương pháp

Lớp đáp ứng cung cấp rất nhiều phương thức để thao tác các câu trả lời http. Chúng như sau,

giả mạo - Nó giống như hàm tạo lớp phản hồi như đã thấy ở trên.
return Response::forge("Hi, FuelPHP", 404);
chuyển hướng - Nó cung cấp tùy chọn để chuyển hướng đến một URL thay vì gửi một phản hồi. Nó chứa các đối số sau,

a.url - url đích b. phương pháp - phương pháp chuyển hướng. vị trí (mặc định) và làm mới c . redirect_code - mã trạng thái http. Giá trị mặc định là 302.
// use a URL 
Response::redirect('http://some-domain/index', 'refresh');  

// or use a relative URI 
Response::redirect('employee/list'); 
redirect_back - Nó tương tự như phương thức chuyển hướng ngoại trừ nó chuyển hướng đến trang trước đó. Chúng tôi có thể chỉ định trang chuyển hướng, nếu không có trang trở lại.
// If there is no back page, go to the employee list page 
Response::redirect_back('/employee/list', 'refresh');
set_status - Nó cung cấp một tùy chọn để thiết lập mã trạng thái http.
$response = new Response(); 
$response->set_status(404); 
set_header - Nó cung cấp một tùy chọn để thiết lập các tiêu đề http.
$response = new Response(); 
$response->set_header('Content-Type', 'application/pdf');  

// replace previous value using third arguments 
$response->set_header('Content-Type', 'application/pdf', 'text/plain'); 
set_headers - Nó giống như set_header ngoại trừ nó cung cấp một tùy chọn để đặt nhiều tiêu đề bằng mảng.
$response = new Response(); 
$response->set_headers (array 
   'Content-Type' => 'application/pdf', 
   'Pragma' => 'no-cache', 
)); 
get_header - Nó cho phép để có được các chi tiết tiêu đề thiết lập trước đó.
$response = new Response(); 
$response->set_header('Pragma', 'no-cache');  

// returns 'no-cache' 
$header = $response->get_header('Pragma');  

// returns array('Pragma' => 'no-cache') 
$header = $response->get_header();
body - Nó cung cấp một tùy chọn để thiết lập phần thân của câu trả lời http.
$response = new Response(); 
$response->body('Hi, FuelPHP');  

// returns 'Hi, FuelPHP' 
$body = $response->body();
send_headers - Nó gửi các tiêu đề đến máy khách được yêu cầu. PHP sử dụng phương pháp này để gửi phản hồi cho khách hàng. Thông thường, chúng ta không cần sử dụng phương pháp này.
$response->send_headers();
gửi - Giống như send_headers ngoại trừ tiêu đề có thể bị hạn chế trong phản hồi http.
// send the headers as well 
$response->send(true);  

// only send the body 
$response->send(false); 
$response->send(); 

Thứ Ba, 19 tháng 6, 2018

PHP - Bộ điều khiển

Khóa Học Lập Trình PHP

Bộ điều khiển chịu trách nhiệm xử lý từng yêu cầu đi vào ứng dụng PHP. Theo PHP, bộ điều khiển được đặt tại nhiên liệu / ứng dụng / lớp / bộ điều khiển / .

Đầu tiên hãy tạo một Controller nhân viên.

employee.php
<?php  
   class Controller_Employee extends Controller { 
      public function action_home() { 
         echo "FuelPHP-Employee application!"; 
      }  
      
      public function action_index() { 
         echo "This is the index method of employee controller"; 
      } 
   } 

Phương pháp điều khiển

Bộ điều khiển xử lý yêu cầu web bằng cách sử dụng một trong các phương thức hành động _ của nó . Chúng ta có thể tạo ra nhiều phương thức action_tùy thuộc vào yêu cầu của ứng dụng. 

Phương thức action_ mặc định là action_index . Phương thức action_index có thể được gọi bởi bất kỳ một trong các URL sau đây.

http://localhost:8080/employee/index
http://localhost:8080/employee/





Kết quả

NIIT-ICT
ảnh minh họa


Chúng ta hãy tạo một phương thức hành động mới , action_show trong ứng dụng nhân viên của chúng ta .
<?php  
   class Controller_Employee extends Controller { 
      public function action_home() { 
         echo "FuelPHP-Employee application!"; 
      }  
      public function action_index() { 
         echo "This is the index method of employee controller"; 
      }  
      public function action_show() { 
         echo "This is the show method of employee controller"; 
      } 
   } 
Phương thức action_show có thể được gọi bằng cách sử dụng URL sau.
http://localhost:8080/home/show
Kết quả

NIIT-ICT
ảnh minh họa

before () Phương thức

Chúng tôi có thể tạo ra một phương pháp, trước khi trong bộ điều khiển của chúng tôi. Phương thức này sẽ được thực thi trước mỗi lời gọi phương thức action_ . Nó sẽ không được gọi nếu phương pháp đó hóa ra không tồn tại. Phương pháp này giúp chúng tôi viết các hành động phổ biến như kiểm tra đăng nhập, tìm nạp dữ liệu mặc định, v.v.

Hãy để chúng tôi tạo ra một phương pháp trước và in một tin nhắn văn bản đơn giản.
public function before() { 
   echo "This message comes from <em>before()</em> method</br>"; 
} 

Trang chỉ mục có trước hành động

NIIT-ICT
ảnh minh họa

Hiển thị trang có trước hành động

ảnh minh họa

phương thức after ()

phương thức after () tương tự như phương thức before () nhưng được thực hiện sau khi phương thức action_ được gọi. phương thức after () nhận phản hồi như một đầu vào và trả về đối tượng phản hồi .
public function after($response) { 
   if ( ! $response instanceof Response) { 
      $response = \Response::forge($response, $this->response_status); 
   } 
   return $response; 
} 

Nếu đầu vào là NULL hoặc không phải đối tượng phản hồi, sau đó tạo một đối tượng Response mới bằng cách sử dụng phương thức forge của Response và trả về nó. Chúng ta sẽ học chi tiết về lớp Phản hồi trong các chương tiếp theo.

Bộ điều khiển mở rộng

Chúng tôi có thể mở rộng một bộ điều khiển từ bộ điều khiển khác. Sau đây là cú pháp cơ bản.
class Controller_Employee extends Controller_Welcome { 
   // controller methods 
} 
Điều này sẽ giúp chia sẻ các phương pháp.

Tạo bộ điều khiển

Nhiên liệu có tùy chọn tạo bộ điều khiển bằng lệnh Dầu. Sau đây là cú pháp.

Cú pháp

oil g controller <controller-name> 

Thí dụ

oil g controller sample

Sau khi thực hiện lệnh trên, bạn sẽ thấy phản hồi sau.

Kết quả

Creating view: /path/to/project/fuel/app/views/template.php 
Creating view: /path/to/project/fuel/app/views/sample/index.php 
Creating controller: /path/to/project/fuel/app/classes/controller/sample.php 

Loại bộ điều khiển

PHP cung cấp loại bộ điều khiển khác nhau cho nhiều mục đích khác nhau. Chúng như sau:

Bộ điều khiển cơ sở

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

Bộ điều khiển còn lại

Bộ điều khiển lai

Bộ điều khiển cơ sở

Controller là bộ điều khiển cơ sở cho tất cả các loại bộ điều khiển khác nhau có sẵn trong PHP. Nó cung cấp tất cả các chức năng cơ bản cần thiết để xử lý yêu cầu web. Nó hỗ trợ Yêu cầu, Phản hồi, Phiên, v.v. Chúng tôi sẽ sử dụng nó trong tất cả các ví dụ trừ khi có quy định khác.

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

Bộ điều khiển mẫu là phần mở rộng của bộ điều khiển cơ sở. Nó có hỗ trợ mẫu, các phương thức before () và after () đã định nghĩa trước. Về cơ bản, nó có thể được sử dụng để bọc khung nhìn của bạn trong một bố trí với đầu trang, chân trang, thanh bên, vv Để tạo một bộ điều khiển mẫu, chúng ta cần mở rộng lớp Controller_Template . Theo mặc định, tất cả các phương thức của một lớp mở rộng Controller_Template cần phải sử dụng mẫu.

Nó được định nghĩa như sau.
class Controller_Employee extends Controller_Template { 
   public function action_index() { 
      // add methods 
   } 
}
Chúng ta sẽ thảo luận thêm về bộ điều khiển mẫu trong chương Views.

Bộ điều khiển còn lại

Bộ điều khiển còn lại là phần mở rộng của Bộ điều khiển cơ sở. Nó có hỗ trợ được xác định trước cho lập trình REST API. Điều này sẽ cho phép bạn xây dựng các API một cách dễ dàng.

Để tạo bộ điều khiển còn lại, bạn cần mở rộng lớp Controller_Rest . Nó được định nghĩa như sau.
class Controller_Employee extends Controller_Rest { 
   public function action_index() { 
      // add methods 
   } 
}

Chúng ta sẽ thảo luận thêm về bộ điều khiển còn lại trong chương Ajax.

Bộ điều khiển lai

Bộ điều khiển lai thực hiện chức năng của cả bộ điều khiển REST và bộ điều khiển Mẫu trong một bộ điều khiển cơ sở duy nhất.

Thứ Hai, 18 tháng 6, 2018

PHP - Ứng dụng web đơn giản

Trong chương này, chúng ta sẽ xem cách tạo một ứng dụng đơn giản trong khung công tác Học lập trình PHP. Như đã thảo luận ở trên, bạn biết cách tạo một dự án mới. Chúng ta có thể lấy một ví dụ về chi tiết nhân viên.

Hãy bắt đầu bằng cách tạo một dự án có tên Employee bằng cách sử dụng lệnh sau đây.

oil create employee

Sau khi thực hiện lệnh, một dự án nhân viên được tạo ra với cấu trúc tệp sau

employee 
├── CHANGELOG.md 
├── composer.json 
├── composer.lock 
├── composer.phar 
├── CONTRIBUTING.md 
├── fuel 
│   ├── app 
│   │   ├── bootstrap.php 
│   │   ├── cache 
│   │   ├── classes 
│   │   ├── config 
│   │   ├── lang 
│   │   ├── logs 
│   │   ├── migrations 
│   │   ├── modules 
│   │   ├── tasks 
│   │   ├── tests 
│   │   ├── themes 
│   │   ├── tmp 
│   │   ├── vendor 
│   │   └── views 
│   ├── core 
│   │   ├── base56.php 
│   │   ├── base.php 
│   │   ├── bootstrap.php
│   │   ├── bootstrap_phpunit.php 
│   │   ├── classes 
│   │   ├── composer.json 
│   │   ├── config 
│   │   ├── CONTRIBUTING.md 
│   │   ├── lang 
│   │   ├── phpunit.xml 
│   │   ├── tasks 
│   │   ├── tests 
│   │   ├── vendor 
│   │   └── views 
│   ├── packages 
│   │   ├── auth 
│   │   ├── email 
│   │   ├── oil 
│   │   ├── orm 
│   │   └── parser 
│   └── vendor 
│       ├── autoload.php 
│       ├── composer 
│       ├── fuelphp 
│       ├── michelf 
│       ├── monolog 
│       ├── phpseclib 
│       └── psr 
├── LICENSE.md 
├── oil 
├── public 
│   ├── assets 
│   │   ├── css 
│   │   ├── fonts 
│   │   ├── img 
│   │   └── js 
│   ├── favicon.ico 
│   ├── index.php 
│   └── web.config 
├── README.md 
└── TESTING.md  
42 directories, 21 files

Cấu trúc của ứng dụng

Khung công tác PHP cung cấp một cấu trúc ứng dụng được tổ chức tốt. Chúng ta hãy kiểm tra một số tập tin và thư mục quan trọng của ứng dụng.

fuel - Chứa tất cả các tệp PHP.

công khai - Chứa tất cả nội dung được truy cập trực tiếp thông qua trình duyệt như JavaScript, CSS, hình ảnh, v.v.

oil - Một tệp thực thi được sử dụng để chạy các tác vụ dòng lệnh như tạo mã hoặc gỡ lỗi tương tác trong ứng dụng của bạn. Nó là tùy chọn.

fuel / app / - Chứa tất cả các tệp PHP dành riêng cho ứng dụng. Nó chứa Mô hình, Chế độ xem và Bộ điều khiển.

nhiên liệu / lõi / - Đây là nơi mà khung nhiên liệu tự sống.

nhiên liệu / gói / - Chứa tất cả các gói nhiên liệu. Theo mặc định, nhiên liệu sẽ chứa ba gói: dầu, auth và orm. Những gói này sẽ không được tải trừ khi bạn yêu cầu chúng.

fuel / app / config / - Chứa tất cả các tệp cấu hình liên quan đến ứng dụng. Tệp cấu hình ứng dụng chính, tệp config.php nằm ở đây.

fuel / app / classes / - Chứa tất cả các tệp PHP dựa trên MVC cụ thể. Nó chứa bộ điều khiển, mô hình, lớp trợ giúp, thư viện, v.v.

nhiên liệu / ứng dụng / lớp / bộ điều khiển / - Bộ điều khiển được đặt ở đây.

nhiên liệu / ứng dụng / lớp / mô hình / - Các mô hình được đặt ở đây.

nhiên liệu / ứng dụng / lượt xem / - Chứa các tệp xem. Không có quy ước đặt tên cụ thể cho các chế độ xem.

Thêm bộ điều khiển

Như đã thảo luận ở trên, PHP dựa trên mẫu phát triển Model-View-Controller (MVC). MVC là một cách tiếp cận phần mềm tách logic ứng dụng khỏi bản trình bày. Trong mô hình MVC, bộ điều khiển đóng một vai trò quan trọng và mọi trang web trong một ứng dụng cần phải được xử lý bởi một bộ điều khiển. Theo mặc định, bộ điều khiển được đặt trong nhiên liệu / ứng dụng / lớp / bộ điều khiển / thư mục. Bạn có thể tạo lớp Controller của riêng bạn ở đây.

Di chuyển đến vị trí nhiên liệu / app / classes / controller / và tạo tệp employee.php. Để tạo một bộ điều khiển mới, chỉ cần mở rộng lớp Controller được cung cấp bởi PHP, được định nghĩa như sau.

employee.php

<?php 
   class Controller_Employee extends Controller { 
      public function action_home() { 
         
         // functionality of the home page  
         echo "FuelPHP-Employee application!"; 
      } 
   }

Bây giờ, chúng ta đã tạo ra một Controller Employee và thêm một phương thức public, action_home, nó in một văn bản đơn giản.

định tuyến

Định tuyến phân giải URI trang web thành bộ điều khiển và hành động cụ thể. Mỗi trang web trong một ứng dụng PHP nên đi qua định tuyến trước khi thực hiện thực tế của bộ điều khiển. Theo mặc định, mỗi bộ điều khiển có thể được giải quyết bằng cách sử dụng mẫu URI sau.

<controller>/<action>

Ở đâu

điều khiển là tên của bộ điều khiển trừ đi không gian tên, nhân viên

hành động là tên của phương thức trừ từ khóa action_, trang chủ

Bộ điều khiển mới được tạo có thể được truy cập bởi http: // localhost: 8080 / employee / home và nó sẽ tạo ra kết quả sau.

Kết quả

NIIT-ICT
ảnh minh họa

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