当前位置:首页 > 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 支持三种访问修饰符:

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 关键字定义静态属性和方法,无需实例化即可通过类名访问。

php 实现类

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 避免类名冲突,需在文件顶部声明。

namespace MyProject;

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

$obj = new \MyProject\MyClass();

标签: php
分享给朋友:

相关文章

php实现登录

php实现登录

PHP 登录功能实现 数据库连接与用户表创建 创建一个数据库连接文件 db.php,用于管理数据库连接。MySQL 示例代码如下: <?php $host = 'localhost'; $db…

php实现异步

php实现异步

PHP 实现异步的方法 PHP 本身是同步执行的脚本语言,但可以通过以下方法模拟异步操作或实现异步效果: 使用多进程(pcntl_fork) 通过 pcntl_fork 创建子进程实现异步,适用于…

php实现分类

php实现分类

PHP实现分类的方法 数据库设计 创建分类表时,通常需要包含id、名称、父级id等字段。父级id用于实现多级分类结构。 CREATE TABLE categories ( id INT AU…

php 实现单点登录

php 实现单点登录

PHP 实现单点登录的方法 单点登录(SSO)允许用户通过一次登录访问多个相互信任的系统。以下是基于 PHP 的实现方案: 基于共享 Session 的方案 在同一个主域名下的子域名间可以通过共享…

php实现定时

php实现定时

PHP 实现定时任务的方法 PHP 本身是脚本语言,通常需要借助外部工具或框架实现定时任务。以下是几种常见方法: 使用 Cron 任务 Linux 系统自带的 Cron 是常用的定时任务工具。通过编…

php实现推送消息推送消息

php实现推送消息推送消息

PHP 实现消息推送的方法 使用 WebSocket 实现实时推送 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,适合实现实时消息推送。 安装 Ratchet 库(WebSo…