当前位置:首页 > 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实现打印功能的方法 在PHP中实现打印功能可以通过多种方式完成,包括直接输出到浏览器、生成PDF文件、调用打印机接口等。以下是几种常见的方法: 直接输出HTML内容 PHP可以通过echo或…

php实现分页

php实现分页

PHP实现分页的基本方法 使用原生PHP实现分页功能需要结合数据库查询和HTML展示。以下是核心实现步骤: 数据库查询与分页逻辑 // 连接数据库 $conn = new mysqli('lo…

php实现文件上传

php实现文件上传

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

php实现分页

php实现分页

PHP实现分页的基本方法 使用LIMIT和OFFSET进行数据库查询分页。通过计算当前页码和每页显示数量,动态生成SQL语句。 $page = isset($_GET['page']) ? (in…

php实现文件上传

php实现文件上传

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

php实现购物车

php实现购物车

PHP实现购物车功能 购物车功能是电商网站的核心模块之一,通常涉及商品添加、删除、数量修改和结算等操作。以下是使用PHP实现购物车功能的几种方法。 使用Session存储购物车数据 Session…