Thứ Sáu, 28 tháng 12, 2018

Học lập trình PHP - Lập trình biểu mẫu

Khóa học lập trình PHP cung cấp ba lớp, Form Fieldset ,, và Input ,, để thực hiện lập trình Form.

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

Lớp Fieldset 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ệ.

Khóa học lập trình PHP
Khóa học lập trình PHP

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

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

Hình thức


Như đã thảo luận trước đó, 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 hình thức mới. Nó cung cấp hai tham số sau -

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

$ hidden - mảng 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ỉ đơn giản là đóng biểu mẫu.
echo Form::close();

đầu vào()

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

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

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

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

yếu tố nhãn

Khóa học lập trình PHP nhãn tạo phần tử nhãn html. Nó có ba tham số sau đây,

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

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

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

ẩn

hidden 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 tham số sau đây

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

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

$ đã kiểm tra - liệu mục đó có được kiểm tra hay không (đúng / sai)

$ thuộc tính - thuộc tính của phần tử đầu vào dưới dạng 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 tham số sau đây

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

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

$ đã kiểm tra - liệu mục đó có được kiểm tra hay không (đúng / sai)

$ thuộc tính - thuộc tính của phần tử đầu vào dưới dạng 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

Khóa học lập trình PHP 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.

văn bản

textarea tạo phần tử textarea html. Nó có ba tham số sau đây

$ trường - tên của phần tử textarea

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

$ thuộc tính - 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 một phần tử chọn HTML. Nó có bốn tham số sau

$ trường - tên của phần tử chọn

$ value - 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

$ thuộc tính - thuộc tính của phần tử đầu vào dưới dạng 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 cần gửi.

nút

nút tạo phần tử nút html. Nó có ba tham số sau đây,

$ trường - 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

Khóa học lập trình PHP 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.

lĩnh vực_open

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

các thuộc tính - các thuộc tính của phần tử fieldset là mảng

huyền thoại - tên của truyền thuyết để tạo ra
// 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_c Đóng

fieldset_c Đóng tạo trường đóng thẻ 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 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ó đượ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 đăng 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']

thông số

Khóa học lập trình PHP 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 tin cho phép đọc cá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 thông qua đó 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

người giới thiệu trả về người giới thiệu từ biến $ _SERVER. Đây là một phương pháp tắt để có được người giới thiệu http 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. Đây là một phương pháp tắt để lấy 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_ chuỗi trả về chuỗi truy vấn từ biến $ _SERVER. Đây là một phương pháp phím tắt để có được chuỗi truy vấn của yêu cầu hiện tại.

tiêu đề

tiêu đề trả về cụ thể hoặc tất cả các tiêu đề. Nó có hai tham số sau

$ 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

Khóa học lập trình PHP tiện ích 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 bằng cách sử dụng lớp Form và Input.

Tạo biểu mẫu

Tạo hành động mới, get_add trong bộ điều khiển nhân viên như sau.
public function get_add() { 
   return Response::forge(View::forge('employee/add')); 
} 
Bây giờ, 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.

Ở đây, chúng tôi đã sử dụng bootstrap để thiết kế biểu mẫu. Khóa học lập trình 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 / staff / add sẽ hiển thị mẫu sau.

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 được người dùng nhập vào cơ sở dữ liệu trong bộ đ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 tôi 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 
   } 
   ?> php
</ul> 

Kiểm tra mẫu

Khóa học lập trình PHP Bây giờ, yêu cầu URL, http: // localhost: 8080 / staff / add , nhập một số dữ liệu nhân viên như trong ảnh chụp màn hình sau và gửi biểu mẫu.

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

Thứ Năm, 27 tháng 12, 2018

Học lập trình PHP - Người thuyết trình

Khóa học lập trình PHP cung cấp một lớp bổ sung sau bộ điều khiển để tạo 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

Người trình bày , việc này sẽ xử lý các logic bổ sung như tìm nạp dữ liệu từ cơ sở dữ liệu, đặt dữ liệu xem, v.v. vật.

Khóa học lập trình PHP
Khóa học lập trình PHP

Chúng ta có thể kết xuất các khung nhìn bằng lớp Presenter như sau


nhiên liệu / ứng dụng / lớp / bộ điều khiển / worker.php
public Controller_Employee extends Controller { 
   public function action_welcome() { 
      return Presenter::forge('employee/hello'); 
   } 
}
Khóa học lập trình PHP Vị trí mặc định của lớp người 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 / 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'); 
      } 
   } 
Khóa học lập trình PHP Tệp xem của lớp người trình bày ở trên phân giải thành worker / hello.php liên quan đến thư mục khung nhìn , đượ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> 
Khóa học lập trình PHP Cuối cùng, thay đổi lộ trình để 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 / ứng dụng / cấu hình / tuyến.php
'employee/hello(/:name)?' => array('employee/welcome', 'name' => 'hello'), 

Thứ Tư, 26 tháng 12, 2018

Lập trình PHP - Lượt xem

Chữ cái Vv trong MVC là dành cho Lượt xem. Lượt xem có trách nhiệm gửi đầu ra cho người dùng dựa trên yêu cầu. View Classes là một cách mạnh mẽ để tăng tốc quá trình phát triển Đào tạo PHP.

Xem mẫu


Tệp Xem mẫu của Đào tạo PHP có phần mở rộng mặc định. ctp (Mẫu PHP). Các mẫu này lấy dữ liệu từ bộ điều khiển và sau đó hiển thị đầu ra để nó có thể được hiển thị đúng cho người dùng. Chúng ta có thể sử dụng các biến, các cấu trúc điều khiển khác nhau trong mẫu.

Đào tạo PHP
Đào tạo PHP
Các tệp mẫu được lưu trữ trong src / Mẫu / , trong một thư mục được đặt tên theo bộ điều khiển sử dụng các tệp và được đặt tên theo hành động mà nó tương ứng. 

Ví dụ: tệp View cho hành động xem Chế độ xem () của bộ điều khiển Sản phẩm , thường được tìm thấy trong src / Mẫu / Sản phẩm / view.ctp.

Nói tóm lại, tên của bộ điều khiển (ProductsContoder) giống như tên của thư mục (Sản phẩm) nhưng không có từ Trình điều khiển và tên của hành động / phương thức (view ()) của bộ điều khiển (ProductsContoder) giống như tên của tập tin Xem (view.ctp).

Xem các biến


Đào tạo PHP xem các biến là các biến nhận giá trị từ bộ điều khiển. Chúng ta có thể sử dụng nhiều biến trong các mẫu xem như chúng ta muốn. 

Chúng ta có thể sử dụng phương thức set () để truyền các giá trị cho các biến trong các khung nhìn. Các biến được đặt này sẽ có sẵn trong cả chế độ xem và bố cục hành động của bạn hiển thị. Sau đây là cú pháp của phương thức set () .

Cake\View\View::set(string $var, mixed $value)

Phương thức này có hai đối số - tên của biến và giá trị của nó .

Thí dụ

Thực hiện thay đổi trong tệp config / Rout.php như trong chương trình sau.

cấu hình / tuyến.php
<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;

   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('template',['controller'=>'Products','action'=>'view']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();

Tạo một tệp ProductsControll.php tại src / Controller / ProductsControll.php . Sao chép mã sau trong tệp điều khiển.

src / Trình điều khiển / Sản phẩm Trình điều khiển.php
<?php
   namespace App\Controller;
   use App\Controller\AppController;
   
   class ProductsController extends AppController{
      public function view(){
         $this->set('Product_Name','XYZ');
      }
   }
?>
Đào tạo PHP Tạo thư mục Sản phẩm tại src / Mẫu và trong thư mục đó tạo tệp Xem cótên là view.ctp. Sao chép mã sau trong tập tin đó.

src / Mẫu / Sản phẩm / view.ctp

Value of variable is: <?php echo $Product_Name; ?>

Thứ Ba, 25 tháng 12, 2018

lập trình PHP - Định tuyến

Bản đồ định tuyến yêu cầu URI tới phương thức của bộ điều khiển cụ thể. Trong chương này, chúng ta sẽ thảo luận chi tiết về khái niệm định tuyến trong Khóa học lập trình PHP.

Cấu hình lập trình PHP


Tập tin cấu hình tuyến đường được đặt tại Fuel / app / config / Rout.php . Tệp Rout.php mặc định được định nghĩa như sau.

Khóa học lập trình PHP
Khóa học lập trình PHP

<?php 
   return array ( 
      '_root_'  => 'welcome/index',   // The default route 
      '_404_'   => 'welcome/404',     // The main 404 route 
      'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'), 
   );
Ở đây, _root_ là tuyến mặc định được xác định trước, sẽ được khớp khi ứng dụng được yêu cầu với đường dẫn gốc, / vd http: // localhost: 8080 / .

Giá trị của _root_ là bộ điều khiển và hành động được giải quyết khi nó được khớp. welcome / index giải quyết thành Trình điều khiển_Welcome và phương thức hành động action_index . Tương tự, chúng tôi có các tuyến dành riêng sau đây.

root - Tuyến mặc định khi không có URI được chỉ định.

403 - Nó ném khi tìm thấy.

404 - Nó trả về khi không tìm thấy trang.

500 - Nó ném khi tìm thấy.

Định tuyến đơn giản


Tuyến đường được so sánh với URI yêu cầu. Nếu một kết quả khớp được tìm thấy, yêu cầu được chuyển đến URI. Định tuyến đơn giản được mô tả như sau
return array ( 
   'about'  => 'site/about', 
   'login' => 'employee/login', 
);
Tại đây, về các kết quả trùng khớp http: // localhost: 8080 / about và giải quyết bộ điều khiển, Controller_Site và phương thức hành động, action_about

Định tuyến nâng cao


Khóa học lập trình PHP Bạn có thể bao gồm bất kỳ regex vào các tuyến đường của bạn. Fuel hỗ trợ các tính năng định tuyến tiên tiến sau 

: any - Điều này khớp với mọi thứ từ thời điểm đó trong URI, không khớp với không có gì

: mọi thứ - Giống như: bất kỳ, nhưng cũng phù hợp với không có gì

: phân đoạn - Đoạn này chỉ khớp với 1 đoạn trong URI, nhưng đoạn đó có thể là bất cứ thứ gì

: num - Điều này khớp với bất kỳ số nào

: alpha - Điều này khớp với bất kỳ ký tự alpha nào, bao gồm UTF-8

: alnum - Điều này khớp với bất kỳ ký tự chữ và số nào, bao gồm UTF-8

Ví dụ: tuyến đường sau khớp với URI http: // localhost: 8080 / hello /PHP và giải quyết bộ điều khiển, Controller_Welcome và hành động action_hello
'hello(/:name)?' => array('welcome/hello', 'name' => 'hello'),
Phương thức hành động tương ứng trong Controller_Welcome như sau
public function action_hello() { 
   $this->name = Request::active()->param('name', 'World'); 
   $message = "Hello, " . $this->name;  
   echo $message; 
}
Ở đây, chúng tôi đã sử dụng lớp Request để lấy tham số tên từ URL. Nếu không tìm thấy tên, thì chúng ta đang sử dụng World làm giá trị mặc định. Chúng ta sẽ học lớp Yêu cầu trong chương Yêu cầu và Trả lời .

Kết quả

Phương thức hành động HTTP


Khóa học lập trình PHP hỗ trợ các tuyến đường để khớp với các hành động có tiền tố phương thức HTTP. Sau đây là cú pháp cơ bản.
class Controller_Employee extends Controller { 
   public function get_index() { 
      // called when the HTTP method is GET. 
   }  
   public function post_index(){ 
      // called when the HTTP method is POST. 
   } 
}
Chúng tôi có thể định tuyến URL của bạn đến bộ điều khiển và hành động dựa trên động từ HTTP trong tệp cấu hình như sau.
return array ( 
   // Routes GET /employee to /employee/all and POST /employee to /employee/create 
   employee => array(array('GET', new Route(‘employee/all')), array('POST', 
      new Route(‘employee/create'))), 
);

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