当前位置:首页 > PHP

php 实现类

2026-01-14 13:01:07PHP

PHP 类的基本实现

在 PHP 中,类通过 class 关键字定义,后跟类名和一对花括号。类名通常遵循大驼峰命名法(如 ClassName)。以下是基本语法:

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

    // 方法(成员函数)
    public function method() {
        // 方法逻辑
    }
}

类属性与访问修饰符

属性用于存储对象的状态,支持三种访问修饰符:

  • public:全局可访问
  • protected:仅类自身及子类可访问
  • private:仅类自身可访问
class User {
    public $name;          // 公共属性
    protected $password;  // 受保护属性
    private $token;       // 私有属性
}

类方法与构造函数

方法定义与普通函数类似,可包含参数和返回值。__construct 是特殊方法,在对象实例化时自动调用:

class Product {
    public $price;

    public function __construct($initialPrice) {
        $this->price = $initialPrice;
    }

    public function applyDiscount($percent) {
        $this->price *= (1 - $percent/100);
    }
}

实例化与对象操作

通过 new 关键字创建对象实例,并使用 -> 访问成员:

$product = new Product(100);  // 调用构造函数
$product->applyDiscount(10);  // 调用方法
echo $product->price;        // 访问属性(输出90)

继承与多态

使用 extends 实现继承,子类可重写父类方法:

class Animal {
    public function makeSound() {
        echo "Some sound";
    }
}

class Dog extends Animal {
    public function makeSound() {
        echo "Bark";
    }
}

$dog = new Dog();
$dog->makeSound();  // 输出"Bark"

静态成员

通过 static 关键字定义类级别的属性和方法,无需实例化即可访问:

class MathHelper {
    public static $pi = 3.14;

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

echo MathHelper::$pi;          // 输出3.14
echo MathHelper::square(5);    // 输出25

接口与抽象类

接口(interface)定义方法规范,抽象类(abstract class)可包含部分实现:

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

abstract class Shape {
    abstract public function area();
}

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

魔术方法

PHP 提供特殊魔术方法,以双下划线开头,如 __toString() 用于对象字符串表示:

class Person {
    public $name;

    public function __toString() {
        return "Person: {$this->name}";
    }
}

$person = new Person();
$person->name = "Alice";
echo $person;  // 输出"Person: Alice"

命名空间与自动加载

命名空间解决类名冲突,PSR-4 标准实现自动加载:

namespace MyProject;

class MyClass {
    // 类实现
}

// composer.json 配置示例
{
    "autoload": {
        "psr-4": {
            "MyProject\\": "src/"
        }
    }
}

php 实现类

标签: php
分享给朋友:

相关文章

php实现文件上传

php实现文件上传

文件上传的基本实现 在PHP中实现文件上传需要使用$_FILES超全局数组处理上传的文件数据。表单必须设置enctype="multipart/form-data"属性,并采用POST方法提交。…

php实现文件上传

php实现文件上传

PHP 文件上传实现方法 在 PHP 中实现文件上传需要处理 HTML 表单和服务器端脚本。以下是详细步骤: 创建 HTML 表单 使用 enctype="multipart/form-data"…

php实现文件下载

php实现文件下载

PHP实现文件下载的方法 通过PHP实现文件下载功能,可以采用多种方式,以下是几种常见的实现方法: 使用header()函数强制下载 设置HTTP头信息,强制浏览器下载文件而非直接打开: $fi…

php实现搜索功能

php实现搜索功能

实现基本的搜索功能 在PHP中实现搜索功能通常涉及数据库查询。以下是一个简单的实现方式,假设使用MySQL数据库: <?php // 连接数据库 $conn = new mysqli('lo…

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class…

php实现递归

php实现递归

递归的基本概念 递归是一种函数调用自身的技术,适用于解决可以分解为相同子问题的问题。在PHP中,递归需要明确的终止条件(基线条件),否则会导致无限循环。 递归实现阶乘 阶乘是经典的递归案例,n!…