首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP是面向对象的?

PHP是面向对象的?
EN

Stack Overflow用户
提问于 2011-01-15 12:14:57
回答 7查看 57.6K关注 0票数 46

PHP是一种面向对象的语言吗?如果没有,那么框架CakePHP怎么办?它是一个面向对象的PHP MVC实现吗?

另外,完全使用类构建的PHP应用程序是否可以称为面向对象的?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-01-15 12:19:41

是的,PHP的最新版本是面向对象的。也就是说,您可以自己编写类,使用继承,并且在适当的情况下,内置的功能也是在对象中内置的(比如MySQL特性)。

然而,仍然有许多松散的函数,因此对于面向对象的PHP是如何的,可能存在分歧。我想是的。没错,CakePHP是一个面向对象的框架。

票数 49
EN

Stack Overflow用户

发布于 2012-03-29 00:02:08

不,PHP不是完全面向对象的语言.

C++和Java也不一样,因为它们都有原语类型(而且PHP还有大量的函数集合,比如str_replace()is_*(),这在本质上是程序性的)。据我所知,只有纯面向对象的语言是Ruby和Scala (有人可能会说后者更侧重于函数式编程范式)。

PHP可以称为“具有对象能力的语言”。

至于用PHP编写的代码,您必须明白,仅仅因为您使用的是类,它并不会使它成为OOP。特别是如果您的代码主要基于静态类。

所以,如果您问:“CakePHP是一个OO框架吗?”,那么答案是- NO。对它最讨人喜欢的描述是“面向类的编程”。代码库中充满了静态方法和变量,其中类的作用更像是一个名称空间。基本上,CakePHP是一个过程代码,封装在语法中,表面上模仿面向对象的代码。

票数 106
EN

Stack Overflow用户

发布于 2012-12-22 16:03:11

PHP不是完全面向对象的,但它支持一些特性,如

( 1)类别

( 2)对象

( 3)构筑物和破坏者

4)对象继承

5)范围解析操作符(:)

还有更多。如果您想学习面向对象的php,请参考下面的参考链接

1) http://php.net/manual/en/language.oop5.php

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4699519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档