【发布时间】:2014-06-18 23:58:26
【问题描述】:
我正在尝试教一些朋友 PHP,我正忙于解释 $this-> 如何在没有技术术语的情况下工作。我相信一旦我让他们理解了这些,我就可以真正开始教他们如何使用 OOP 进行编码了。
我所教的人了解如何使用类、变量,以及它们如何使用extends、public、private 和protected 函数和变量范围进行交互。
唯一阻碍他们的是向他们解释$this-> 和self::。我试图通过说“当你引用一个类变量时,你将在函数中使用 $this-> 调用它”来把它弄糊涂,指的是类的变量,因为我们在类而不是函数本身。
有没有更好、更简单的方法向正在学习 PHP 的 OOP 设计的人解释这一点?
我还注意到,一旦您进入编程语言,您就会习惯使用这些方法而无需考虑它们。对我来说,如果不使用技术术语来解释如何使用这些方法,就很难回到基础。
【问题讨论】:
-
我认为,如果不首先解释 OOP 的基础知识,就无法教授 PHP 的
$this的概念。这是一个只有在适当的上下文中才有意义的概念。 -
A.爱因斯坦:
If you can't explain it to a six year old, you don't understand it yourself -
他们了解 OOP 设计的工作原理,但他们只是对 OOP 的
$this->部分感到困惑。我相信,一旦我让他们解决了这个小小的理解问题,我就可以继续为他们提供更多帮助。 -
$this指的是对象内部的一个对象的内部变量和方法。我想解释封装以及为什么这样做会更难;)