wiki

View on GitHub

Chương 1: OOP và lập trình thủ tục

1.Ưu điểm của OOP:

2.Bóc tách đối tượng

3.Một số thuật ngữ cơ bản của OOP

4.Quy tắc viết code

Chương 2: OOP

1.Bắt đầu với đối tượng

<?php
  class Emailer
  {
	private $sender;
	private $recipients;
	private $subject;
	private $body;
	function __construct($sender)
	{
	  $this->sender = $sender;
	  $this->recipients = array();
	}
	public function addRecipients($recipient)
	{
	  array_push($this->recipients, $recipient);
	}
	public function setSubject($subject)
	{
	  $this->subject = $subject;
	}
	public function setBody($body)
	{
	  $this->body = $body;
	}
	public function sendEmail()
	{
	  foreach ($this->recipients as $recipient)
	  {
	    $result = mail($recipient, $this->subject, $this->body,"From: {$this->sender}\r\n");
	    if ($result) echo "Mail successfully sent to {$recipient}<br/>";
	  }
	}
  }
?>

2.Truy cập thuộc tính và phương thức trong lớp

3.Sử dụng đối tượng

4.Từ bổ nghĩa

5.Constructors và destructors

6.Lớp Constants

7.Kế thừa

8.Phương thức ghi đè

9.Ngăn ngừa ghi đè

10.Ngăn ngừa kế thừa

11.đa hình

12.Interface

13.Lớp abstract

14.Phương thức và thuộc tính tĩnh

15.Phương thức Accessor

16.Phương thức Magic để set/get thuộc tính

$st = new Student(); $st->name = “Afif”; $st->roll=16; echo $st->name.”\n”; echo $st->roll; ?>

 + Vì thuộc tính không tồn tại nên __set() sẽ được gọi và gán giá trị cho thuộc tính mới.

### 17.Phương thức Magic cho Overloading
 + dùng để truy nhập phương thức không tồn tại trong lớp.
 + __call() cung cấp hành động hoặc trả về giá trị khi gọi phương thức không tồn tại.
 + __call() nhận 2 tham số là tên của phương thức và mảng các đối số truyền cho phương thức không xác định.

<?php class Overloader { function __call($method, $arguments) { echo “You called a method named {$method} with the following arguments
”; } } $ol = new Overloader(); $ol->access(2,3,4); $ol->notAnyMethod(“boo”); ?> ```