当前位置:首页 > PHP

php 实现类

2026-04-02 21:18:42PHP

PHP 实现类的基本语法

在 PHP 中,类通过 class 关键字定义,后跟类名和一对花括号。类名通常遵循大驼峰命名法(如 MyClass)。

class MyClass {
    // 属性(成员变量)
    public $property;

    // 方法(成员函数)
    public function myMethod() {
        echo "This is a method.";
    }
}

类的实例化

通过 new 关键字创建类的实例(对象),并可以访问其属性和方法。

$object = new MyClass();
$object->property = "Value";
$object->myMethod(); // 输出: This is a method.

构造函数与析构函数

构造函数 __construct() 在对象创建时自动调用,用于初始化属性。析构函数 __destruct() 在对象销毁时调用。

class Person {
    public $name;

    public function __construct($name) {
        $this->name = $name;
        echo "Object created for $name.";
    }

    public function __destruct() {
        echo "Object destroyed.";
    }
}

$person = new Person("Alice"); // 输出: Object created for Alice.

访问修饰符

PHP 支持三种访问修饰符:

  • public:属性和方法可以在任何地方访问。
  • protected:只能在类内部或子类中访问。
  • private:只能在类内部访问。
class Example {
    public $publicVar = "Public";
    protected $protectedVar = "Protected";
    private $privateVar = "Private";

    public function showVars() {
        echo $this->privateVar; // 可访问
    }
}

继承

通过 extends 关键字实现类的继承,子类可以继承父类的属性和方法。

class ParentClass {
    public function parentMethod() {
        echo "Parent method.";
    }
}

class ChildClass extends ParentClass {
    public function childMethod() {
        echo "Child method.";
    }
}

$child = new ChildClass();
$child->parentMethod(); // 输出: Parent method.

静态属性和方法

使用 static 关键字定义静态属性和方法,无需实例化即可通过类名访问。

class Math {
    public static $pi = 3.14;

    public static function square($num) {
        return $num * $num;
    }
}

echo Math::$pi; // 输出: 3.14
echo Math::square(4); // 输出: 16

接口与抽象类

接口通过 interface 定义,要求实现类必须实现其方法。抽象类通过 abstract 定义,可以包含抽象方法和具体方法。

interface Logger {
    public function log($message);
}

class FileLogger implements Logger {
    public function log($message) {
        file_put_contents("log.txt", $message);
    }
}

abstract class Animal {
    abstract public function makeSound();
    public function eat() {
        echo "Eating...";
    }
}

魔术方法

PHP 提供了一系列魔术方法(如 __get__set__call 等),用于在特定事件发生时自动调用。

class Magic {
    private $data = [];

    public function __set($name, $value) {
        $this->data[$name] = $value;
    }

    public function __get($name) {
        return $this->data[$name] ?? null;
    }
}

$magic = new Magic();
$magic->dynamicProp = "Test"; // 调用 __set
echo $magic->dynamicProp; // 输出: Test

命名空间

通过 namespace 避免类名冲突,需在文件顶部声明。

php 实现类

namespace MyProject;

class MyClass {
    public function hello() {
        echo "Hello from MyProject!";
    }
}

$obj = new \MyProject\MyClass();

标签: php
分享给朋友:

相关文章

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_shi…

php 购物车实现

php 购物车实现

数据库设计 购物车功能通常需要设计数据库表存储商品和用户信息。常见的表包括products(商品表)、users(用户表)和cart(购物车表)。cart表通常包含字段:id(主键)、user_id(…

php 实现验证码

php 实现验证码

使用 PHP 生成验证码 验证码(CAPTCHA)用于防止自动化脚本提交表单,以下是几种常见的 PHP 实现方法。 使用 GD 库生成图片验证码 GD 库是 PHP 的图像处理扩展,可用于生成验证码…

php实现上传图片

php实现上传图片

上传图片的基本流程 PHP 实现图片上传功能需要处理文件接收、验证、保存等步骤。以下是具体实现方法。 创建 HTML 表单 在 HTML 中创建一个表单,设置 enctype="multipart/…

php 实现下载

php 实现下载

PHP 实现文件下载的方法 使用 PHP 实现文件下载可以通过设置 HTTP 头信息,强制浏览器将文件作为附件下载而非直接打开。 基本下载实现 $file_path = 'path/to/your/…