当前位置:首页 > PHP

php 实现类

2026-02-27 12:29:20PHP

PHP 实现类的基本语法

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

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

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

类的属性

属性是类的成员变量,用于存储数据。可以设置访问修饰符(如 publicprotectedprivate)控制可见性:

class User {
    public $name;       // 公共属性,外部可访问
    protected $email;   // 受保护属性,仅类和子类可访问
    private $password; // 私有属性,仅类内部可访问
}

类的方法

方法是类的成员函数,用于定义行为。方法也可以设置访问修饰符:

class Calculator {
    public function add($a, $b) {
        return $a + $b;
    }

    private function log($message) {
        // 私有方法,仅内部调用
    }
}

构造函数和析构函数

  • __construct 是构造函数,在创建对象时自动调用:

    class Person {
        public function __construct($name) {
            $this->name = $name;
        }
    }
  • __destruct 是析构函数,在对象销毁时调用:

    class Logger {
        public function __destruct() {
            echo "对象已销毁";
        }
    }

实例化对象

使用 new 关键字创建类的实例:

$user = new User();
$calculator = new Calculator();

继承

PHP 支持单继承,通过 extends 实现:

class Admin extends User {
    public function manage() {
        echo "管理权限";
    }
}

静态属性和方法

静态成员属于类而非实例,通过 static 关键字定义:

class Math {
    public static $pi = 3.14;

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

// 调用静态成员
echo Math::$pi;
echo Math::square(5);

访问控制

  • public:任何地方可访问。
  • protected:类和子类可访问。
  • private:仅类内部可访问。

魔术方法

PHP 提供特殊魔术方法,以双下划线开头:

  • __get()__set():访问不可访问属性时触发。
  • __call():调用不可访问方法时触发。
class Magic {
    private $data = [];

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

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

接口和抽象类

  • 接口:定义方法规范,通过 implements 实现:

    interface Logger {
        public function log($message);
    }
    
    class FileLogger implements Logger {
        public function log($message) {
            // 实现接口方法
        }
    }
  • 抽象类:包含抽象方法的类,通过 abstract 定义:

    abstract class Animal {
        abstract public function makeSound();
    }

命名空间

使用命名空间避免类名冲突:

namespace MyProject;

class MyClass {
    // 类定义
}

示例:完整类实现

class Car {
    private $model;
    private $color;

    public function __construct($model, $color) {
        $this->model = $model;
        $this->color = $color;
    }

    public function getInfo() {
        return "Model: {$this->model}, Color: {$this->color}";
    }

    public static function honk() {
        echo "Beep beep!";
    }
}

// 使用
$myCar = new Car("Toyota", "Red");
echo $myCar->getInfo();
Car::honk();

php 实现类

标签: php
分享给朋友:

相关文章

php实现表单

php实现表单

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

php 购物车实现

php 购物车实现

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

php实现聊天

php实现聊天

实现 PHP 聊天功能的方法 使用 WebSocket 和 PHP 实现实时聊天 WebSocket 是一种全双工通信协议,适合实现实时聊天功能。PHP 可以通过 Ratchet 库实现 WebSo…

php实现分类

php实现分类

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

php怎么实现登录功能

php怎么实现登录功能

数据库准备 创建用户表存储登录信息,通常包括用户名、密码(需加密)等字段。示例SQL: CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY…

php实现mvc

php实现mvc

PHP 实现 MVC 架构 MVC(Model-View-Controller)是一种常用的软件设计模式,将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller…