PHP多个类,哪个继承,接口,抽象?

时间:2015-03-11 17:46:19

标签: php oop inheritance

我理解基本的PHP类和继承,但这些并不能以我想要的优雅方式解决。我一直在阅读文章和观看视频,试图掌握更高级的OOP。但是对于我的生活,我无法为下面的项目找到一个简洁的解决方案。有任何建议或提示吗?

我有一个Web应用程序,基本上是一个花哨的库存和检查记录。一个页面具有可排序的数据表,弹出对话框和单选按钮以更改项目状态。该页面包含

baseClass = basic page construction, sets database connection and environment values
A dataTable class
A class that generates javascript and jquery code 
A class for managing status radio buttons
Classes and methods for updating the database

问题是如何编码这些不同的类,以便它们可以在其他页面上使用,并且可以简单地维护/调整。目前使用spl_autoload_register()在需要时调用类,但我对Singleton,Dependancy Injection,Factories的想法很不满意。

有什么建议吗? (我确信这是一个简单的问题,但是我的头撞在墙上会阻碍我)

提前致谢

3 个答案:

答案 0 :(得分:1)

您可以尝试Composer

这非常容易和简单(尽管如此,我还没有掌握如何从他们的网站设置一个简单的自动加载)。要设置简单的自动加载,我使用了本教程: http://jessesnet.com/development-notes/2014/php-composer-autoloading/

同时阅读PHPBridge,它将为您提供如何设置课程以及稍后将其与Composer一起使用的好主意。

答案 1 :(得分:1)

不要尝试重用类,尝试在接口中思考。 接口是行为合同。它们应该是标准的跨页面,实现可能会有所不同。

例如,您有一个获取数据的界面。在实践中,您可能使用模拟类(即类中的硬编码数据来测试应用程序的其他部分),您可能从MySQL或PostgreSQL或任何其他来源获取数据。同一接口的所有不同实现。 接口应该能够相互通信,而不是实现本身,除非它是通过它们的接口。

我建议你自己创建这个代码。它将为您提供更好地理解框架的知识(从长远来看)。

我更喜欢通过配置实现自动布线的选择,因为它为我提供了更大的灵活性。在设计模式中:我更喜欢服务工厂而不是依赖注入,但两者都是很好的解决方案。

答案 2 :(得分:0)

谢谢大家, 由于这个项目的时间限制是慷慨的,我会花一些时间再次查看设计模式(我在编辑现有项目时只遇到过结构化模式),并且自己做代码,因为这是一个二手项目,从头开始并不是一个真正的选择(还是!)

再次感谢您的出色建议。