首页 / 知识
关于oop:有没有人试图使PHP的系统功能更加面向对象?
2023-04-15 07:04:00

Has anyone attempted to make PHP's system functions more Object-Oriented?我只是想知道是否存在任何试图将所有(或大部分)PHP内置函数分组为一个更加面向对象的类层次结构的项目。 例如,将所有字符串函数分组为单个String类,等等。 我意识到这实际上并不会解决任何问题(除非在PHP源代码级别进行了修改),因为所有内置函数仍可在全局名称空间中访问,但它无疑会使可用性变得更加容易。 方式太多了。一旦有人发现PHP具有OO功能,他们便想将所有内容包装在类中。 在PHP中使用OO的要点是,您可以按自己想要的任何方式构建解决方案。但是将现有功能包装在Objects中并不会带来很多收益。 话虽这么说,PHP的核心已经非常面向对象。看看SPL。 我认为这样的事情对于PHP的发展至关重要。作为主要的.Net程序员,我发现PHP难以使用它的100万个和1个全局函数。 PHP 5.3具有名称空间是很好的,但是当它们自己的库甚至不面向对象时,它也无济于事,更不用说使用名称空间了。我不太介意PHP作为一种语言,但是它们的API却杂乱无章,它可能需要进行彻底的检查。有点像VB成为VB.Net时经历的过程。 我不同意面向对象编程本质上并不比过程编程好。我相信除非需要多态行为(继承,覆盖方法等),否则不应该使用OO。将对象用作代码的简单容器是不值得的。对于字符串来说尤其如此,因为字符串使用了很多(例如用作数组键)。通常,每个应用程序都可以从某些多态功能中受益,但通常都是高水平的。您是否想扩展String类? 同样,了解PHP的奇数函数命名也需要一些历史。 PHP以标准C库和POSIX标准为基础,并使用许多相同的函数名(strstr,getcwd,ldap_open等)。这实际上是一件好事,因为它可以最大程度地减少语言绑定代码的数量,确保完整的,经过深思熟虑的功能集(几乎可以在C中完成任何事情,也可以在PHP中完成)并且这些系统库得到了高度优化(例如strchr通常是内联的,这使其速度提高了约10倍)。 要回答您的问题,是的,有几个库可以完全满足您的要求。至于您要使用哪一个,则是一个完全不同的问题。 PHPClasses和pear.org是开始寻找此类库的好地方。
更新: 在使用Cakephp和Zend之类的框架(还有其他框架)时,我注意到它们试图通过包括自己的库并将诸如DB连接性之类的基础构建到框架中来解决其中的一些问题。因此框架可能是另一种解决方案 |
最新内容
相关内容
python是面向对象还是面向过程的
python是面向对象还是面向过程的,数据,代码,基础,形态,培训,术语,设计,对象,过程,语言,Python虽然是解释型语言,但从设计之初就已经是一门面向68个Python内置函数详解
68个Python内置函数详解,位置,数字,数据,设计,第三,基础,综合,培训,函数,小数,内置函数就是Python给你提供的,拿来直接用的函数,比如print.,inpuPython内置函数
Python内置函数,数字,函数,培训,位置,第一,代码,异常,数据,公式,序列,python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好列举Python面向对象中带双下划线的
列举Python面向对象中带双下划线的特殊方法,信息,代码,培训,对象,属性,方法,实例,字符串,里边,内容,__new__:生成实例__init__:生成实例的属性_python内置函数:map、reduce、filte
python内置函数:map、reduce、filter的用法和区别,数据,培训,数字,函数,序列,内容,元素,参数,列表,个数,map:根据函数对指定序列做映射map参数Python之列举常见的内置函数
Python之列举常见的内置函数,数字,数据,函数,名字,培训,一致,元素,对象,列表,参数,abs()返回数字的绝对值map根据函数对指定序列做映射map()Python面向对象的基本概念
Python面向对象的基本概念,概念,信息,位置,新增,培训,属性,鸟类,定义,对象,方法,python使用类(class)和对象(object),进行面向对象(object-ori列举python常见的内置函数
列举python常见的内置函数,数字,培训,函数,对象,元素,类型,结果,绝对值,区别,序列,abs()返回数字的绝对值map根据函数对指定序列做映射map()Python之面向对象的进一步拓展
Python之面向对象的进一步拓展,信息,对象,操纵,培训,名字,方法,性质,参数,属性,定义,我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能Python之什么是面向对象?
Python之什么是面向对象?,设计,流程,代码,个体,大唐,对比,培训,模子,上帝,对象,OOP(ObjectOrientedPrograming)编程是利用“类”和“对象”来Python 面向对象的软件开发
Python 面向对象的软件开发,设计,软件,分析,发展,工作,基础,代码,工具,通用,规模,很多人在学完了python的class机制之后,遇到一个生产中的问题Python 常见的内置函数
Python 常见的内置函数,步长,地方,培训,地址,函数,对象,字符,元素,过滤器,序列,常见的内置函数:查看内置函数:print(dir(__builtins__))常见函