我正在开发一个使用常规PHP的web系统。这是我第一次使用PHP,所以代码既不清晰也不整洁。它将一些HTML代码与PHP混合在一起。我想说我已经完成了一半的代码。
面向对象的PHP的真正优势是什么?该网站是关于书籍和书籍作者的,使用MySQL和Apache。所以这不是一个非常复杂的网站。
发布于 2010-07-13 06:38:55
面向对象的真正优势:您的代码更好地组织,更容易维护,更模块化(因此更容易重用),并且潜在地更不脆弱(因为状态和实现的封装,希望还有更好的安全性)。(我内心的愤世嫉俗还说,如果你学习了面向对象的PHP,你就迈出了离开PHP ghetto的重要一步。哈哈。对我很有效!)
已经有很多来自PHPers在堆栈溢出上转向面向对象的问题了:
更不用说有无数的PHP面向对象的教程了。我的观点:基本上,是的,如果您正在编写PHP,那么您可能应该为最琐碎的应用程序之外的任何东西编写面向对象的PHP。有许多类似Rails的PHP框架可以让您的工作更轻松,并可能帮助您成为一名更好的程序员。
发布于 2010-07-13 06:36:41
面向对象的PHP与过程化风格的区别并不在于混入PHP代码的HTML代码量。因此,如果您唯一关心的是混合,那么您应该寻找其他方法来清理代码。例如,您可以为动态内容创建带有占位符的html模板文件,并使用file_get_contents和str_replace在运行时注入动态内容。
发布于 2011-09-02 13:11:43
在我看来,我们PHPers可以彻底抛弃对象(类实例)的概念,我们只需要数组和模式类:
初始模式下的所有数组都支持任何数组函数作为其方法:
<?php
$array1->array_flip(this);
?>使用"->mode()“验证最小数据集,然后切换模式类:
<?php
$array1->mode('class1', $success);
?>任何模式类都没有"->construct()“,但有"->validate()”来验证最小数据集。
处于某种模式的数组仍然可以使用数组函数作为其方法,但在使用其中任何一个数组函数后,数组将切换回基本数组模式,我们需要使用"->mode('class1',$success);“来切换回模式。
这里的基本思想是以数据为中心的编程;我们需要分离数据(数组)和活动(类方法)。
我们可以修改PHP引擎,去掉部分OO (面向对象),并支持Mode Class。我们可以叫它MyPHP。
例如:$array_man1可以设置为两种模式: cls_normal_man和cls_crazy_man:
<?php
$array_man1->mode('cls_normal_man')->normal_method1()->mode('cls_crazy_man')->crazy_method1();
?>https://stackoverflow.com/questions/3232777
复制相似问题