Hướng dẫn PHP

TRANG CHỦ PHP Giới thiệu PHP Cài đặt PHP Cú pháp PHP Nhận xét PHP Các biến PHP PHP Echo / Print Các kiểu dữ liệu PHP Chuỗi PHP Số PHP Toán PHP Hằng số PHP Toán tử PHP PHP If ... Else ... Elseif Chuyển đổi PHP Vòng lặp PHP Các hàm PHP Mảng PHP PHP Superglobals PHP RegEx

Biểu mẫu PHP

Xử lý biểu mẫu PHP Xác thực biểu mẫu PHP Yêu cầu biểu mẫu PHP URL biểu mẫu PHP / E-mail Hoàn thành biểu mẫu PHP

PHP nâng cao

Ngày và giờ trong PHP Bao gồm PHP Xử lý tệp PHP Mở / Đọc tệp PHP Tạo / ghi tệp PHP Tải lên tệp PHP Cookie PHP Phiên PHP Bộ lọc PHP Bộ lọc PHP nâng cao Các chức năng gọi lại trong PHP PHP JSON Ngoại lệ PHP

PHP OOP

PHP OOP là gì Các lớp / đối tượng PHP Trình tạo PHP PHP Destructor Công cụ sửa đổi quyền truy cập PHP Kế thừa PHP Hằng số PHP Các lớp trừu tượng trong PHP Giao diện PHP Đặc điểm PHP Phương thức tĩnh trong PHP Thuộc tính tĩnh của PHP Không gian tên PHP Lặp lại PHP

Cơ sở dữ liệu MySQL

Cơ sở dữ liệu MySQL MySQL Connect MySQL Tạo cơ sở dữ liệu MySQL Tạo bảng MySQL Chèn dữ liệu MySQL Nhận ID cuối cùng MySQL Chèn Nhiều MySQL được chuẩn bị Dữ liệu chọn MySQL MySQL ở đâu MySQL Đặt hàng bởi MySQL Xóa dữ liệu Dữ liệu cập nhật MySQL Dữ liệu giới hạn MySQL

PHP XML

Trình phân tích cú pháp XML PHP Trình phân tích cú pháp PHP SimpleXML PHP SimpleXML - Nhận PHP XML Expat DOM XML PHP

PHP - AJAX

Giới thiệu về AJAX AJAX PHP Cơ sở dữ liệu AJAX AJAX XML Tìm kiếm trực tiếp AJAX Cuộc thăm dò ý kiến ​​của AJAX

Ví dụ về PHP

Ví dụ về PHP Trình biên dịch PHP PHP Quiz Bài tập PHP Chứng chỉ PHP

Tham chiếu PHP

Tổng quan về PHP Mảng PHP Lịch PHP Ngày PHP Thư mục PHP Lỗi PHP Ngoại lệ PHP Hệ thống tập tin PHP Bộ lọc PHP FTP PHP PHP JSON Từ khóa PHP PHP Libxml Thư PHP Toán PHP PHP Misc PHP MySQLi Mạng PHP Kiểm soát đầu ra PHP PHP RegEx PHP SimpleXML Luồng PHP Chuỗi PHP Xử lý biến PHP Trình phân tích cú pháp XML PHP PHP Zip Múi giờ PHP

PHP OOP - Lớp và Đối tượng


Một lớp là một khuôn mẫu cho các đối tượng và một đối tượng là một thể hiện của lớp.


Trường hợp OOP

Giả sử chúng ta có một lớp tên là Fruit. Một Fruit có thể có các thuộc tính như tên, màu sắc, trọng lượng, v.v. Chúng ta có thể xác định các biến như $ name, $ color và $ weight để giữ các giá trị của các thuộc tính này.

Khi các đối tượng riêng lẻ (apple, banana, v.v.) được tạo, chúng kế thừa tất cả các thuộc tính và hành vi từ lớp, nhưng mỗi đối tượng sẽ có các giá trị khác nhau cho các thuộc tính.


Xác định một lớp

Một lớp được định nghĩa bằng cách sử dụng class từ khóa, theo sau là tên của lớp và một cặp dấu ngoặc nhọn ({}). Tất cả các thuộc tính và phương pháp của nó đều đi vào bên trong niềng răng:

Cú pháp

<?php
class Fruit {
  // code goes here...
}
?>

Dưới đây chúng ta khai báo một lớp có tên Fruit bao gồm hai thuộc tính ($ name và $ color) và hai phương thức set_name () và get_name () để thiết lập và lấy thuộc tính $ name:

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}
?>

Lưu ý: Trong một lớp, các biến được gọi là thuộc tính và hàm được gọi là phương thức!


Xác định đối tượng

Lớp học không là gì nếu không có đồ vật! Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được định nghĩa trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau.

Các đối tượng của một lớp được tạo bằng newtừ khóa.

Trong ví dụ dưới đây, $ apple và $ banana là các thể hiện của lớp Fruit:

Thí dụ

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
}

$apple = new Fruit();
$banana = new Fruit();
$apple->set_name('Apple');
$banana->set_name('Banana');

echo $apple->get_name();
echo "<br>";
echo $banana->get_name();
?>

Trong ví dụ dưới đây, chúng tôi thêm hai phương thức nữa vào lớp Fruit, để thiết lập và nhận thuộc tính $ color:

Thí dụ

<?php
class Fruit {
  // Properties
  public $name;
  public $color;

  // Methods
  function set_name($name) {
    $this->name = $name;
  }
  function get_name() {
    return $this->name;
  }
  function set_color($color) {
    $this->color = $color;
  }
  function get_color() {
    return $this->color;
  }
}

$apple = new Fruit();
$apple->set_name('Apple');
$apple->set_color('Red');
echo "Name: " . $apple->get_name();
echo "<br>";
echo "Color: " . $apple->get_color();
?>


PHP - $ this Keyword

Từ khóa $ this đề cập đến đối tượng hiện tại và chỉ có sẵn bên trong các phương thức.

Hãy xem ví dụ sau:

Thí dụ

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
?>

Vì vậy, chúng ta có thể thay đổi giá trị của thuộc tính $ name ở đâu? Có hai cách:

1. Bên trong lớp (bằng cách thêm phương thức set_name () và sử dụng $ this):

Thí dụ

<?php
class Fruit {
  public $name;
  function set_name($name) {
    $this->name = $name;
  }
}
$apple = new Fruit();
$apple->set_name("Apple");

echo $apple->name;
?>

2. Bên ngoài lớp (bằng cách thay đổi trực tiếp giá trị thuộc tính):

Thí dụ

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
$apple->name = "Apple";

echo $apple->name;
?>

PHP - instanceof

Bạn có thể sử dụng instanceoftừ khóa để kiểm tra xem một đối tượng có thuộc một lớp cụ thể hay không:

Thí dụ

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>