面向对象的PHP体系结构

面向对象的PHP体系结构,php,oop,architecture,Php,Oop,Architecture,对不起,如果我的问题是含糊不清的 我是新手。我想知道的是我的新项目应该如何“面向对象”。虽然我不熟悉所有的技术术语,但我认为我对类/对象作为数据类型有一个合理的理解。阻止我直接进入it的是“正确”架构的不确定性 例如,现在我有一个标准类,它可以被实例化为一个持有数据库句柄的对象,并且有getRow、getRows、insertRow、updateRow的方法,查询和参数都发送到这些方法,所有这些方法都可以工作 我只是在页面顶部创建$db对象,然后将它交给每个需要它的对象,这似乎是不正确的 我正在

对不起,如果我的问题是含糊不清的

我是新手。我想知道的是我的新项目应该如何“面向对象”。虽然我不熟悉所有的技术术语,但我认为我对类/对象作为数据类型有一个合理的理解。阻止我直接进入it的是“正确”架构的不确定性

例如,现在我有一个标准类,它可以被实例化为一个持有数据库句柄的对象,并且有getRow、getRows、insertRow、updateRow的方法,查询和参数都发送到这些方法,所有这些方法都可以工作

我只是在页面顶部创建$db对象,然后将它交给每个需要它的对象,这似乎是不正确的

我正在构建的系统具有不同的页面类型,例如博客页面、产品页面、签出等。我使用apache重写将所有请求发送到一个页面,在该页面上我将切换执行的代码

为每种类型实例化一个对象是否正确

if($pageType = "blog-post"){
  $page = new BlogPost($db);
}
else if($pageType = "product-listings"){
  $page = new ProductListing($db);
}

$page->SendToView();
如果我确保$page对象始终有一个SendToView方法,它会担心页面的显示方式


MVC模式是否有多个实现?我认为MVC是我需要的,但当我寻找教程时,它们看起来完全不同,但都称自己为MVC。

您使用的是作业
=
,而不是比较
=
。所以你发布的代码是失败的,除非那是伪代码。是的,有很多mvc变体。OOP和mvc是两种不同的东西。使用像CodeIgniter这样的简单框架来试验MVC。@Bimal CodeIgniter与MVC无关。@tereško不确定你指的是什么。但是codeigniter框架有MVC,并且也在PHP中。