【发布时间】:2011-09-22 23:08:28
【问题描述】:
所以基本上我正在从过程编码飞跃到 OOP。 我正在尝试实现 OOP 的原则,但我有一种唠叨的感觉,我实际上只是在用 Objects 编写程序样式。
假设我有一个管道/椅子/打印机/任何东西的列表,它们都在我的单表数据库中列为产品。我需要构建一个 webapp,根据它们的类型显示整个列表和项目,重点是“正确”使用 OOP 及其范例。
这样做有什么问题吗:
CLass Show { public function showALL(){ $prep = "SELECT * FROM myProducts"; $q = $this->db-> prepare($prep); $q->execute(); while ($row = $q->fetch()) { echo "bla bla bla some arranged display".$row['something'] } }
然后简单地
$sth = new show();
$sth->showAll();
我还会实现更具体的显示方法,例如:
showSpecificProduct($id)->(当用户说点击其中一个链接时,$id 将通过 $_GET 传递,我们将拥有单独的 product.php 文件,该文件基本上只包含
include('show.class.php');
$sth = new show();
$sth->showSpecificProduct($id);
showSpecificProduct() 将同时执行选择查询和输出 html 以供显示。
因此,简而言之,我是继续处理它,还是我只是对类和对象进行过程编码。如果我做错了,还有关于解决它的任何想法/提示等?
【问题讨论】:
-
一个好的开始是从单一职责原则的角度开始思考:en.wikipedia.org/wiki/Single_responsibility_principle('格式化 html 以供显示'可能被认为是一种责任)
-
我认为这是一个非常好的问题。大多数人发现从一开始就很难理解 OOP,但它绝对值得努力。提问会让你从一开始就远离坏习惯和做法。
-
谢谢大家,你解开了我心中的一些疑惑,并指出了我敢说正确的方向。我有很多东西要阅读和学习。 :)
标签: php oop procedural