2009-04-27 42 views
-1

我想创建简单的PHP框架。但我不知道有关类结构,例如哪些类应该扩展到.Firsly我是哪个班知道一些基本类,如路由器,视图类具有访问一些基本的数据,作为请求的网址或请求ccontroller和行动,所以我如何可以将基本数据导入到这些类。如果我的问题不明确,请解释你自己的有关框架的经验和想法。或者如果你知道请谈谈已知的framewoks,如zend,cakephp或symfony什么是最简单的PHP框架的类结构?

+0

重复约100个其他问题在SO,从这一开始:http://stackoverflow.com/questions/694929/whats-your-no-framework-php-framework – 2009-04-27 19:30:35

回答

1

没有最好的班级结构。取决于你想要做什么。你的意思是最纯粹的MVC设计?最容易测试?最容易理解?

+0

最基本的功能,如路由,模板,布局,auth,Mvc,控制器插件。不适用于像博客,cms脚本这样的大型项目 – 2009-04-27 19:51:47

1

有一个简单的经验法则:

  • 要么你有需要,该标准的框架不能满足
  • 还是应该使用一个很好的标准框架,做你所需要的。

在第一种情况的限制会在您的设计驱动方面。

有在框架类结构没有一般的设计规则。但尽量记住这一点,如果你决定编写自己的一个:模块之间

  • 尽量减少依赖
  • 总是试图给默认值
  • 尽量减少开销
  • 讲座一很多同行都很早就发现漏洞。
+0

是的,我不想在类之间做很多不必要的关系。我认为我可以把班级分成两组。第一个基本类别,例如路由器类或视图类。这些类不能访问他人的数据,第二个是使用前端控制器等其他类的组。例如前端控制器可以访问其他人的数据,他们可以调用其他方法。 例如前端控制器的调度方法称为前端控制器调用其他类的必要方法,例如路由器类的路由方法或渲染类od视图类 – 2009-04-27 20:18:36

0

如果你从来没有在别人的框架下工作过,你将不知道什么想法对你有用,什么不用。如果你只使用了组织化的意大利面条代码,那么你就会明白什么对你有意义。如果你已经进行了大量的重新组织,以便在多个不相关的项目中分解意大利面代码,那么你应该对构建框架时的想法有个清楚的认识。 :-)

如果你没有,你想怎样写一个框架,一个坚定的想法,但你想要写一个,我想你需要开始什么也没有有机地建立它。但是,即使您想让包含文件存在的位置很愚蠢,您也应该知道自己的样子。换句话说,你所需要的只是一个起点。然后,当你遇到它时,这是一个重新考虑丑陋的问题。不久之后,您将拥有一个数据库处理程序,一个调度机制,或许是一个数据访问层,甚至可能是一个模板系统!

应对@MrFox,但是,你应该知道危险的依赖关系的。显然,数据访问层将取决于数据库处理程序;所以你不要希望你的数据库处理程序依赖于你的数据访问层。事实上,你也不希望他们有彼此的亲密知识。它应该是一个合理的“黑盒子”界面。

此外,一些框架尝试建立“一个”对象层次结构。这意味着他们认为一个行为是一个模型就是一个数据库处理程序。我个人在这个错误应用的抽象方面存在问题,所以这是一个单挑,如果它不适合你,也不要害怕抛弃这个想法。正如@Tndndall所说,没有一个单一的“正确”方法可以做到。

相关问题