PHP 高级教程学习笔记

1. 面向对象编程

1.1 类和对象

1.1.1 定义类

在 PHP 中,我们可以用 class 关键字来定义一个类。

phpCopy Code
class Person { private $name; private $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function sayHello() { echo "Hello, my name is {$this->name}!\n"; } }

1.1.2 创建对象

我们可以用 new 关键字来创建一个对象。

phpCopy Code
$p1 = new Person("Tom", 18); $p1->sayHello(); // Hello, my name is Tom!

1.2 继承与多态

1.2.1 继承

在 PHP 中,我们可以用 extends 关键字实现继承。

phpCopy Code
class Student extends Person { private $studentId; public function __construct($name, $age, $studentId) { parent::__construct($name, $age); $this->studentId = $studentId; } public function sayHello() { parent::sayHello(); echo "I am a student.\n"; } }

1.2.2 多态

多态是指相同的方法在不同的对象上有不同的表现形式。在 PHP 中,我们可以实现多态。

phpCopy Code
function greeting(Person $person) { $person->sayHello(); } $p1 = new Person("Tom", 18); $s1 = new Student("Jerry", 20, "1001"); greeting($p1); // Hello, my name is Tom! greeting($s1); // Hello, my name is Jerry! I am a student.

2. 异常处理

在 PHP 中,我们可以使用 try...catch 块来捕获和处理异常。

phpCopy Code
try { $file = fopen("test.txt", "r"); if (!$file) { throw new Exception("Failed to open file!"); } } catch (Exception $e) { echo $e->getMessage(); }

以上是 PHP 高级教程的部分内容和实例。