2009-09-11 149 views
0

据我所知,PHP是一种动态类型的语言。我们不需要声明变量,也不需要定义变量和函数返回的数据类型。PHP是否足够动态?

我发现an article on sitepoint和一位评论者说PHP不是动态不够,因为......

PHP做许多事情在 编译时(如整个“静态” “自我::”东东)而不是运行时。

我很好奇它。有人能以最简单的形式定义什么是动态类型语言吗? PHP是否足够动态?

感谢

+0

我不认为文章是在都在谈论动态类型,但而是缺乏像反射和其他“动态”运行时功能,比如扩展已经定义的类的能力(就像在Ruby或JavaScript中一样)。 – 2009-09-11 21:30:02

回答

3

足够PHP动态?

这纯粹是主观的,但我会说“是”:只要它可以让你/我不要做的是从它需要什么,这是好/动态/快/不管不够; - )


关于静态/自我的东西:有过一些在PHP很大的改进5.3 (在今年 6月)月底发布:现在有Late Static Binding,其中已实施正是为了回答这个问题的关注:

此功能被命名为“后期静态 绑定”,其中内部视角为 。 “后期绑定”来自 事实上static::将不再是 使用定义了 方法的类来解决,但它将使用运行时信息来计算而不是 。 它也被称为“静态绑定” ,因为它可以用于(但不限于 )静态方法调用。

当然,PHP 5.3还没有被广泛使用......但是,这会来的,一天或其他^^