我正在编写一个使用PHP和MySQL的新网站。我试图使用OO这样做,并欢迎一些建议。
我知道我应该按如下方式构造类,但我不确定是否应该创建单独的方法来访问数据库以插入,更新等名称。
重要吗?我应该使用单独的方法,还是只需将代码转换为set_name和get_name?
<?php
class person {
var $name;
function set_name($new_name) {
$this->name = $new_name;
}
function get_name() {
return $this->name;
}
}
?>
答案 0 :(得分:2)
您可能会对Object-relation-mapping和/或特别是Active Record Pattern感兴趣。有关实施,另请参阅this example。
答案 1 :(得分:0)
你能用php5吗?
了解现成解决方案的方向,例如Doctrine-ORM或其他ORM引擎。
答案 2 :(得分:0)
你基本上不应该关心你的具体数据库。 Person
类根本不关心它是如何存储在某个地方的。
只是把事情分开。例如。对于初学者,您可以创建一个ObjectMockStorage
类,其中包含store
和retrieve
方法。
这些方法可以通过您传递的对象来决定该对象应该发生什么。
然后你可以创建你的应用程序,直到你真正需要存储(甚至可能不是今天已经知道的MySQL?),你可以将Storage
的类型更改为具有相同interface的不同内容。 }。
这也可以帮助您更快地运行您的应用程序,并且实际上不会浪费时间去关心您不需要关心的事情。