2011-07-19 71 views
-1

我不太熟悉PHP类或面向对象编程。如何将PHP脚本转换为类?

我有一个用PHP编写的网站,完全是用类编写的。

我想根据脚本添加一个新的部分到我的网站,我已经有了不是一个类。

这个脚本的主要文件有几个函数,它还包括外部函数,它们都不在一个类中。

我需要做些什么才能使脚本与当前OOP站点一起工作?换句话说,我怎样才能将PHP脚本转换为一个类,使得所有对函数的调用和包含在新类中的工作都没有任何错误?

谢谢。

+3

请参阅[将程序设计转换为对象重构](http://sourcemaking.com/refactoring/convert-procedural-design-to-objects) – Gordon

+3

我们也不知道您的oop体系结构是怎样的,也不是您的程序脚本作品。这是一个不可回答的问题。了解OOP如何工作,并且您将知道如何实施它。 –

+0

你是否尝试过使用代码而不把它变成类?这也可能工作... – feeela

回答

0

你想添加另一个页面吗?你必须找到如何将控制器添加到应用程序,这是完全依赖框架的

关于类与非类脚本:这不是问题,但您可能必须为现有代码编写一个小包装类。另一方面,如果你的代码相对较小,那么折叠它当然是有意义的。

1

重写所有非oop类。

我知道这是相当复杂的,但唯一很好的解决方案。

对于弱的解决方案(不推荐,他们是crapy)

  • 你可以在你的PHP文件开始的检查要求,包括脚本#1或脚本#2

  • 您可以设置非-oop脚本somewher只输出数据和写在第二个脚本一些小的模块,获得通过的file_get_contents,卷曲,Ajax请求或某物

不要t个第一的内容关于'类' - '非类'的差异,这不是点,关键是两个脚本的体系结构/框架,在每个脚本中创建模块/功能的方式。 我的意思是,类编写的代码CAN与非班级书面休息。

0

有没有办法得到满意的答案,因为这一切都取决于手头的情况。例如,输出可以由smarty处理。在这种情况下,您的脚本不需要是OOP,只需将该对象用于输出即可。

如果你真的希望它是OOP,你应该做的第一件事是重新考虑你的代码,所以它只使用函数。总是执行并且不能放入函数的东西进入构造函数。你把所有的东西都包装进了一个班级,然后你去了一个新班级。

但是在你这样做之前,你应该分析代码,并问问自己,你是否真的需要代码是OOP。你是否必须微调管理数十个变量和数组,以便随时掌握所需的值?你有很多改变/管理/输出变量的功能吗?在这种情况下,你应该使用OOP。在任何其他情况下,您最好使用常规功能。