【PHP】类

这是一篇针对初学者的关于PHP类的文章(厂˙ω˙)厂

班级的定义

你可以描述常量、变量、函数等。
就像一个房间可以将多个操作整理在一起一样。建议与namespace(命名空间)一起记忆。

起初开始学习PHP的时候,我曾经想过,“需要使用类吗?它和目录有什么不同呢?”但随着项目规模的增长和使用框架的需求,使用类是必要的。

课程的基础

如何写作

<?php

class Hoge
{
    protected $hoge;

    public function __construct(string $hoge)
    {
        $this->hoge = $hoge;
    }

    ・・・

    public function greeting(string $name)
    {
        echo 'Hello, '. $name;
    }
}

XX这部分是一个类名(在这里是Hoge)。

在声明之前加上”protected”或”public”表示对于类外部的方法和变量的访问权限。
对于公共(public)或保护(protected)的情况下,可以在类内部使用”$this”来相互调用。

__construct() 方法是在调用类时必定首先执行的操作(也称为构造函数)。
您还可以为构造函数设置参数。

上述的内容已经省略了,但构造函数中设置的值($this->hoge)将在类内的方法中使用。

调用课程

我们可以从其他地方调用并使用该类。

使用时会创建一个新的类的副本并使用它。虽然这个词听起来陌生,但复制的内容被称为”对象”或”实例”,复制和创建被称为”实例化”。

$hoge_class = new Hoge('hoge');
echo $hoge_class->greeting('Tom'); // 'Hello, Tom'

一旦实例化后,$hoge_class 中会包含 Hoge 类的副本。然后可以使用箭头运算符调用 Hoge 类的方法(对于 public 访问权限的情况)。

关于访问权限的内容较多,希望可以在另一篇文章中进行说明。

为什么要写课文

可以使用require或include命令调用其他文件中的方法,但从哪里调用以及如何使用方法变得不太明确。
这也涉及到设计问题,但提供方法的功能,以及它所属的部分等提示,可以让我们更清楚地了解方法的作用。(至少我是这么认为的。)

我希望能涉及到著名的设计思想”面向对象”,但这是一个相当深入的话题,所以请参考链接。
这是我在对”面向对象”感到困惑时多次阅读的文章。

PHP面向对象编程入门(上篇)

有一天我希望能用自己的话语总结面向对象编程。。

课堂命名

在项目中,最好统一类名的命名规则。比如说,

    クラス名は大文字から始める
    「HogeContoller」、「HogeModel」など機能名を持たせる
    「Users」「Articles」など複数形にする

诸如此类。由于某些框架需要遵循特定规则才能正确运行,因此需要注意。

虽然跟类名的命名有点不相关,但如果不清楚规则,可以参考编码规范。通常遵循psr-2规范。

bannerAds