PHP 高级教程学习笔记
1. 面向对象编程
1.1 类和对象
1.1.1 定义类
在 PHP 中,我们可以用 class
关键字来定义一个类。
phpCopy Codeclass 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 Codeclass 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 Codefunction 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 Codetry {
$file = fopen("test.txt", "r");
if (!$file) {
throw new Exception("Failed to open file!");
}
} catch (Exception $e) {
echo $e->getMessage();
}
以上是 PHP 高级教程的部分内容和实例。