美文网首页
PHP 新手入门指南 - 类

PHP 新手入门指南 - 类

作者: chansey | 来源:发表于2017-06-20 12:37 被阅读33次

类是面向对象程序设计的基本概念,通俗的理解类就是对现实中某一个种类的东西的抽象, 比如汽车可以抽象为一个类,汽车拥有名字、轮胎、速度、重量等属性,可以有换挡、前进、后退等操作方法。

基本概念

面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个目标:重用性、灵活性和扩展性。

PHP 在 4.0 版本之后完善了对 OOP 的支持了。对于小型的应用,使用传统的过程化编程可能更简单也更有效率。然而对于大型的复杂应用时,OOP 就是一个不得不考虑的选择。


类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。

对象
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。

每个类的定义都以关键字 class 开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。

类名可以是任何非 PHP 保留字的合法标签。一个合法类名以字母或下划线开头,后面跟着若干字母,数字或下划线。

一个类可以包含有属于自己的常量变量(称为“属性”)以及函数(称为“方法”)。

小实践

新建或编辑 index.php,内容如下:

<?php

/**
* 类:任务
*/
class Task
{

    // 属性:任务描述
    protected $description;

    // 属性:任务状态
    public $completed = false;

    // 类的构造方法
    function __construct($description)
    {
        $this->description = $description;
    }

    // 类方法:完成任务
    public function complete()
    {
        $this->completed = true;
    }

    // 类方法:获取任务的状态
    public function isComplete()
    {
        return $this->completed;
    }

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

// 定义任务数据
$tasks = [
    new Task('Go to the store'),
    new Task('Finish my screencast'),
    new Task('Clean my room')
];

$tasks[0]->complete();

require "index.view.php";

接下来建立文件 index.view.php 用于显示任务信息:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <ul>
        <?php foreach ($tasks as $task) : ?>
            <li>
                <?php if ($task->completed) : ?>
                    <strike><?= $task->description(); ?></strike>
                <?php else: ?>
                    <?= $task->description(); ?>
                <?php endif; ?>
            </li>
        <?php endforeach; ?>
    </ul>
</body>
</html>

以上的例子简单描述如下:

我们建立一个待做事项的任务类 Task ,实例化了类的对象,并定义成了 $task 数组,通过数组获取对象并调用类的方法 complete() 完成更改了任务状态。之后,在页面上循环打印了任务列表,判断任务是否完成,如果完成的任务就通过 横线(strike) 标记出来。

额外参考

PHP手册:类与对象
教程:PHP 面向对象

相关文章

  • PHP 新手入门指南 - 类

    类是面向对象程序设计的基本概念,通俗的理解类就是对现实中某一个种类的东西的抽象, 比如汽车可以抽象为一个类,汽车拥...

  • PHP 新手入门指南 - PHP 框架

    对于 Web 开发者来说,PHP 是一款非常强大而又受欢迎的编程语言。世界上很多顶级的网站都是基于 PHP 开发的...

  • PHP 新手入门指南 - MySQL

    数据库 数据库是一种用于存储数据集合的独立应用程序。每种数据库都会有一个或多个独特的 API,用来创建、访问、管理...

  • PHP 新手入门指南 - Composer

    我们在 PHP 项目中通常会引入很多类文件,而程序运行的时候则依赖它们,如果依赖内容很多管理起来就会很麻烦,有没有...

  • PHP 新手入门指南 - 变量

    PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。 变量名与 PHP 中其它的标签一样遵循相...

  • PHP 新手入门指南 - 函数

    PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。 内建函数 比如:htmlspecialcha...

  • PHP 新手入门指南 - PHP & HTML

    让我们来了解一下 PHP 和 HTML 是如何一起愉快的玩耍的。 小实践 在工作目录下新建一个 index.php...

  • PHP 新手入门指南 - 安装 PHP 环境

    环境搭建有多种方案,对于新手而言,可以先从集成环境开始入手,后续可以再去了解如何通过编译的方式搭建 PHP 环境。...

  • PHP 新手入门指南 - 介绍 PDO

    PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动...

  • PHP 新手入门指南 - 简单路由

    在之前我们的项目能够显示所有的 todo 清单。接下来我们要添加更多的页面,为此我们需要考虑其它页面的请求如何更好...

网友评论

      本文标题:PHP 新手入门指南 - 类

      本文链接:https://www.haomeiwen.com/subject/uqmoqxtx.html