Các lớp trong PHP là gì?

Các lớp và đối tượng được sử dụng để làm cho mã của bạn hiệu quả hơn và ít lặp lại hơn bằng cách nhóm các tác vụ tương tự. Một lớp được sử dụng để xác định các hành động và cấu trúc dữ liệu được sử dụng để xây dựng các đối tượng. Các đối tượng sau đó được xây dựng bằng cách sử dụng cấu trúc được xác định trước này

Một lớp PHP được định nghĩa bằng cách sử dụng từ khóa class. Sau đây là một ví dụ về một lớp. Khi định nghĩa một lớp, bạn cung cấp tên của các thuộc tính và mã cho các phương thức của nó

class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }

Đối tượng PHP

Một lớp PHP là vô dụng nếu không có đối tượng. Một đối tượng PHP là một thể hiện của một lớp. Dữ liệu được liên kết với một đối tượng được gọi là thuộc tính của nó; . Các đối tượng được tạo bằng từ khóa new. Bây giờ hãy tạo một thể hiện của lớp mà chúng ta đã tạo

________số 8

Tập thể dục

Tạo một lớp có tên là Car với các thuộc tính của nó là

var $buttons = array[ 'Home'     => 'home.php',


                      'Contact'  => 'contact.php',


                      'Services' => 'services.php',


                      'Site Map' => 'map.php'


                     ];
0 và
var $buttons = array[ 'Home'     => 'home.php',


                      'Contact'  => 'contact.php',


                      'Services' => 'services.php',


                      'Site Map' => 'map.php'


                     ];
1. Tạo các hàm lớp
var $buttons = array[ 'Home'     => 'home.php',


                      'Contact'  => 'contact.php',


                      'Services' => 'services.php',


                      'Site Map' => 'map.php'


                     ];
2,
var $buttons = array[ 'Home'     => 'home.php',


                      'Contact'  => 'contact.php',


                      'Services' => 'services.php',


                      'Site Map' => 'map.php'


                     ];
3,
var $buttons = array[ 'Home'     => 'home.php',


                      'Contact'  => 'contact.php',


                      'Services' => 'services.php',


                      'Site Map' => 'map.php'


                     ];
4 và class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
0. Các chức năng này nên tự giải thích [e. g get_name lấy tên và set_name đặt tên xe]. Tạo một thể hiện của lớp của bạn với tên đối tượng, class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
1. Đặt tên là class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
2 và năm là class People { // These are the class properties public $name; public $country;
// These are the class methods function set_name[$name] { $this->name = $name; } function get_name[] { return $this->name; } function set_country[$country] { $this->country = $country; } function get_country[] { return $this->country; } }
3. In tên và năm bằng cách truy cập thuộc tính của đối tượng. In bằng định dạng. Tên - Năm

Những lời khuyên sau đây về lập trình PHP hướng đối tượng được trích từ ấn bản thứ hai mới phát hành của PHP và MySQL Web Development, bản quyền 2003 Sams Publishing [ISBN]. 067232525X], bảo lưu mọi quyền

Đã đến lúc xem cách thiết kế các lớp hữu ích trong PHP

Nhiều lớp trong mã của bạn sẽ đại diện cho các lớp hoặc danh mục đối tượng trong thế giới thực. Các lớp bạn có thể sử dụng trong phát triển Web có thể bao gồm các trang, thành phần giao diện người dùng, giỏ hàng, xử lý lỗi, danh mục sản phẩm hoặc khách hàng

Các đối tượng trong mã của bạn cũng có thể đại diện cho các trường hợp cụ thể của các lớp đã đề cập trước đó, ví dụ: trang chủ, một nút cụ thể hoặc giỏ mua hàng được Fred Smith sử dụng tại một thời điểm cụ thể. Bản thân Fred Smith có thể được đại diện bởi một đối tượng thuộc loại khách hàng. Mỗi mặt hàng mà Fred mua có thể được biểu diễn dưới dạng một đối tượng, thuộc về một danh mục hoặc lớp

Trong chương trước, chúng tôi đã sử dụng các tệp bao gồm đơn giản để cung cấp cho công ty hư cấu của chúng tôi, TLA Consulting, giao diện nhất quán trên các trang khác nhau của trang Web của họ. Sử dụng các lớp và sức mạnh kế thừa tiết kiệm thời gian, chúng ta có thể tạo một phiên bản nâng cao hơn của cùng một trang

Chúng tôi muốn có thể nhanh chóng tạo các trang cho TLA có giao diện và hoạt động theo cùng một cách. Những trang đó có thể được sửa đổi để phù hợp với các phần khác nhau của trang web

Chúng ta sẽ tạo một lớp Trang. Mục tiêu chính của lớp này là giới hạn số lượng HTML cần thiết để tạo một trang mới. Nó sẽ cho phép chúng tôi thay đổi các phần thay đổi từ trang này sang trang khác, đồng thời tự động tạo các phần tử giữ nguyên

Lớp học sẽ cung cấp một khuôn khổ linh hoạt để tạo các trang mới và không ảnh hưởng đến quyền tự do của chúng tôi

Bởi vì chúng tôi đang tạo trang của mình từ một tập lệnh chứ không phải bằng HTML tĩnh, nên chúng tôi có thể thêm bất kỳ số thứ thông minh nào bao gồm chức năng để kích hoạt những điều sau

  • Cho phép chúng tôi chỉ thay đổi các thành phần trang ở một nơi. Nếu chúng tôi thay đổi thông báo bản quyền hoặc thêm một nút bổ sung, chúng tôi chỉ cần thực hiện thay đổi ở một nơi duy nhất
  • Có nội dung mặc định cho hầu hết các phần của trang nhưng có thể sửa đổi từng phần tử khi cần, đặt giá trị tùy chỉnh cho các phần tử như tiêu đề và thẻ meta
  • Nhận biết trang nào đang được xem và thay đổi các yếu tố điều hướng cho phù hợp-chẳng ích gì khi có một nút đưa bạn đến trang chủ nằm trên trang chủ
  • Cho phép chúng tôi thay thế các thành phần tiêu chuẩn cho các trang cụ thể. Ví dụ: nếu chúng tôi muốn các nút điều hướng khác nhau trong các phần của trang web, chúng tôi có thể thay thế các nút tiêu chuẩn

Viết mã cho lớp học của bạn

Sau khi đã quyết định chúng ta muốn đầu ra từ mã của mình trông như thế nào và một vài tính năng chúng ta muốn cho nó, chúng ta triển khai nó như thế nào?

Chúng ta sẽ nói sau trong cuốn sách về thiết kế và quản lý dự án cho các dự án lớn. Bây giờ, chúng ta sẽ tập trung vào các phần cụ thể để viết PHP hướng đối tượng

Lớp học của chúng tôi sẽ cần một tên hợp lý. Vì nó đại diện cho một trang nên nó sẽ có tên là Page. Để khai báo một lớp có tên là Trang, chúng ta gõ

trang lớp

{

}

Lớp học của chúng tôi cần một số thuộc tính. Chúng tôi sẽ đặt các phần tử mà chúng tôi có thể muốn thay đổi từ trang này sang trang khác làm thuộc tính của lớp của chúng tôi. Nội dung chính của trang, là sự kết hợp của các thẻ HTML và văn bản, sẽ được gọi là $content. Chúng ta có thể khai báo nội dung với dòng mã sau trong định nghĩa lớp

nội dung var $;

Chúng tôi cũng có thể đặt thuộc tính để lưu trữ tiêu đề của trang. Chúng tôi có thể muốn thay đổi điều này để hiển thị rõ ràng trang cụ thể mà khách truy cập của chúng tôi đang xem. Thay vì để tiêu đề trống, chúng tôi sẽ cung cấp tiêu đề mặc định với khai báo sau

var $title = 'TLA Consulting Pty Ltd';

Hầu hết các trang Web thương mại đều có thẻ meta để giúp các công cụ tìm kiếm lập chỉ mục cho chúng. Để hữu ích, thẻ meta có thể nên thay đổi từ trang này sang trang khác. Một lần nữa, chúng tôi sẽ cung cấp một giá trị mặc định

var $keywords = 'TLA Consulting, Three Letter Abbreviation,


                  some of my best friends are search engines';

Các nút điều hướng có lẽ nên được giữ giống nhau từ trang này sang trang khác để tránh gây nhầm lẫn cho mọi người, nhưng để thay đổi chúng dễ dàng, chúng tôi cũng sẽ biến chúng thành một thuộc tính. Bởi vì có thể có một số lượng nút khác nhau, chúng tôi sẽ sử dụng một mảng và lưu trữ cả văn bản cho nút và URL mà nó sẽ trỏ tới

var $buttons = array[ 'Home'     => 'home.php',


                      'Contact'  => 'contact.php',


                      'Services' => 'services.php',


                      'Site Map' => 'map.php'


                     ];

Để cung cấp một số chức năng, lớp của chúng tôi cũng sẽ cần các hoạt động. Chúng ta có thể bắt đầu bằng cách cung cấp các hàm truy cập để đặt và nhận các giá trị của các thuộc tính mà chúng ta đã xác định. Tất cả đều có dạng như thế này

function SetContent[$newcontent]


{


   $this->content = $newcontent;


}

Vì không chắc là chúng tôi sẽ yêu cầu bất kỳ giá trị nào trong số này từ bên ngoài lớp, nên chúng tôi đã chọn không cung cấp bộ sưu tập các hàm Get phù hợp

Mục đích chính của lớp này là hiển thị một trang HTML, vì vậy chúng ta sẽ cần một hàm. Chúng tôi đã gọi Display[] của chúng tôi và nó như sau

function Display[]


    {


        echo "\n\n";


        $this -> DisplayTitle[];


        $this -> DisplayKeywords[];


        $this -> DisplayStyles[];


        echo "\n\n";


        $this -> DisplayHeader[];


        $this -> DisplayMenu[$this->buttons];


        echo $this->content;


        $this -> DisplayFooter[];


        echo "\n\n";


    }

Hàm bao gồm một vài câu lệnh echo đơn giản để hiển thị HTML, nhưng chủ yếu bao gồm các lệnh gọi đến các hàm khác trong lớp. Như bạn có thể đoán từ tên của chúng, các chức năng khác này hiển thị các phần của trang

Không bắt buộc phải chia nhỏ các chức năng như thế này. Tất cả các chức năng riêng biệt này có thể đơn giản được kết hợp thành một chức năng lớn. Chúng tôi tách chúng ra vì một số lý do

Mỗi chức năng nên có một nhiệm vụ xác định để thực hiện. Nhiệm vụ này càng đơn giản thì việc viết và kiểm tra chức năng sẽ càng dễ dàng. Đừng đi quá xa—nếu bạn chia chương trình của mình thành quá nhiều đơn vị nhỏ, nó có thể khó đọc

Sử dụng tính kế thừa, chúng ta có thể ghi đè các thao tác. Chúng ta có thể thay thế một hàm Display[] lớn, nhưng không chắc rằng chúng ta sẽ muốn thay đổi cách hiển thị toàn bộ trang. Sẽ tốt hơn nhiều nếu chia chức năng hiển thị thành một số tác vụ độc lập và chỉ có thể ghi đè lên những phần mà chúng tôi muốn thay đổi

Chức năng Hiển thị của chúng tôi gọi DisplayTitle[], DisplayKeywords[], DisplayStyles[], DisplayHeader[], DisplayMenu[] và DisplayFooter[]. Điều này có nghĩa là chúng ta cần xác định các hoạt động này. Một trong những cải tiến của PHP 4 so với PHP 3 là chúng ta có thể viết các thao tác hoặc hàm theo thứ tự logic này, gọi thao tác hoặc hàm trước mã thực của hàm. Trong PHP 3 và nhiều ngôn ngữ khác, chúng ta cần viết hàm hoặc thao tác trước khi nó có thể được gọi

Hầu hết các hoạt động của chúng tôi khá đơn giản và cần hiển thị một số HTML và có lẽ là nội dung của các thuộc tính của chúng tôi

Liệt kê 1 hiển thị toàn bộ lớp mà chúng ta đã lưu dưới dạng trang. inc để bao gồm hoặc yêu cầu vào các tệp khác

Liệt kê 1 Lớp Trang của chúng tôi cung cấp một cách linh hoạt dễ dàng để tạo các trang TLA



  


    h1 {color:white; font-size:24pt; text-align:center;


        font-family:arial,sans-serif}


    .menu {color:white; font-size:12pt; text-align:center; 


           font-family:arial,sans-serif; font-weight:bold}


    td {background:black}


    p {color:black; font-size:12pt; text-align:justify; 


       font-family:arial,sans-serif}


    p.foot {color:white; font-size:9pt; text-align:center; 


            font-family:arial,sans-serif; font-weight:bold}<


    a:link,a:visited,a:active {color:white}


  





  

TLA Consulting Pty Ltd

Chủ Đề