PHP 面向对象编程基础:类与对象的创建及使用

Luna
Luna
发布时间:2026-10-16 | 2人浏览过
原创

本文介绍了 PHP 面向对象编程的基础知识,涵盖类的创建、对象实例化、成员访问方式、访问控制修饰符的使用,以及静态属性和方法、类常量的定义与引用,旨在帮助开发者系统掌握 PHP 核心类机制。

结果或目标

在 PHP 开发中,使用类(Class)和对象(Object)是实现代码封装、复用和模块化设计的基础。本节将演示如何定义类、实例化对象、控制属性访问权限,并处理静态资源与常量,从而构建结构清晰的 PHP 应用程序。

准备条件

  • 已安装支持 OOP(面向对象)特性的 PHP 环境(建议 PHP 7.0 以上版本)。
  • 具备基础的变量赋值与函数调用概念。
  • 了解基本的访问修饰符概念(如 public, private)。

真实操作顺序

第1步:创建类并实例化对象

在 PHP 中创建类的语法与 C#、Java 类似。类体内部包含属性(Variable)和方法(Function)。实例化对象后,需要使用箭头操作符 >> 来访问其成员,而非点运算符。

<?php
class People {
    // 使用 var 声明属性(兼容旧版,推荐直接声明类型或可见性)
    var $name;

    // 定义获取名称的方法
    public function GetName() {
        return $this->name;
    }

    // 定义设置名称的方法
    public function SetName($name) {
        $this->name = $name;
    }
}

// 实例化对象
$p = new People();

// 使用 -> 访问公共方法
$p->SetName("kym");

// 输出结果
echo $p->GetName();
?>

关键要点:

  • 访问操作符:对象成员必须通过 -> 符号访问。
  • 方法定义:使用 function 关键字标识,参数传递无需显式声明类型(除非开启严格模式或使用标注)。
  • $this 关键字:在类方法内部,$this 指向当前调用该方法的对象实例。

第2步:使用访问修饰符实现封装

为了保护数据不被外部直接篡改,可以使用 private 修饰符将属性设为私有。此时,外部代码无法直接访问该属性,必须通过公开的 getter/setter 方法进行交互。

<?php
class People {
    // 私有属性,外部不可直接访问
    private $name;

    public function GetName() {
        return $this->name;
    }

    public function SetName($name) {
        // 可在此处添加验证逻辑
        $this->name = $name;
    }
}
?>

PHP 支持三种访问修饰符:

  • public:公开,可在任何地方访问。
  • private:私有,仅限类内部访问。
  • protected:受保护,类内部及子类可访问。

第3步:动态调用对象方法(可变函数)

PHP 允许通过变量存储方法名,从而实现动态调用。这对于插件架构或路由分发非常有用。

<?php
class People {
    private $name;
    public function GetName() { return $this->name; }
    public function SetName($name) { $this->name = $name; }
}

$p = new People();

// 将方法名存入变量
$get_method = "GetName";
$set_method = "SetName";

// 动态调用
$p->$set_method("kym");

// 动态读取
echo $p->$get_method();
?>

第4步:声明和使用静态方法与属性

静态成员(Static Member)属于类本身,而非特定的对象实例。无论创建多少个对象,静态属性在内存中只保存一份副本。使用双冒号 :: 进行访问。

<?php
class DataBase {
    // 静态属性
    static $connectionString = "http://127.0.0.1";

    // 静态方法
    public static function CreateConnection() {
        echo "Database connected to " . self::$connectionString;
    }
}

// 直接通过类名调用静态方法,无需实例化
DataBase::CreateConnection();

// 访问静态属性
echo DataBase::$connectionString;
?>

第5步:在动态方法中访问静态变量

当非静态方法需要访问类的静态成员时,需使用 self:: 关键字。这确保了即使在不同实例间,也能正确引用类级别的共享资源。

<?php
class DataBase {
    const AUTHOR = "SystemAdmin";
    static $connectionString = "localhost";

    public function ShowInfo() {
        // 使用 self 访问静态属性和常量
        echo "Auth: " . self::AUTHOR . ", DB: " . self::$connectionString;
    }
}

$obj = new DataBase();
$obj->ShowInfo();
?>

第6步:定义类常量

类常量使用 const 关键字定义,类似于 C# 中的 const。常量一旦定义便不可修改,且通常用于定义配置信息、固定标识等。

访问常量同样使用 :: 操作符:

<?php
class Config {
    const VERSION = "1.0.0";
    public static function getVersion() {
        return self::VERSION;
    }
}
echo Config::VERSION; // 输出 1.0.0
?>

完成判断

  • 能够正确写出包含属性和方法的类定义。
  • 理解并能区分 ->(对象访问)和 ::(类/静态访问)的使用场景。
  • 成功通过私有属性配合公有方法实现数据封装。
  • 能熟练使用 self 在类内部引用静态成员。

简要总结

掌握类和对象是进阶 PHP 开发的必经之路。通过合理使用访问修饰符、静态成员和常量,可以编写出更健壮、易维护的代码。以上就是 PHP 类和对象用法的详细内容,更多关于 PHP 面向对象编程的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表