开发者

Identical function and class names in PHP

Are there any circumstances where identically named classes开发者_如何学JAVA and functions in PHP, could collide or cause problems in any way? For example:

function Foobar(){
    // ...
}

class Foobar{
    // ...
}

Cursory testing shows that PHP can discern between them based on context.


No, they never collide. But:

Do not do it.

You will confuse everyone if you do so, because I would not expect there to be a function and a class of the same name. Many don't even know it's legal to do so.

When I see an upper case name In PHP (first letter), I assume it is a class. If you put () around it, I will know it's a function. But I wouldn't assume that there is a class of the same name. All you do is confuse people. Some might assume: "Cool, I didn't know you could omit new". I don't know what your intents are, but if it's to get rid of the new keyword - and only that - it's very bad. I will assume you do more than just that, and will go check what that function actually does, and I'll get angry if I find out it does nothing except returning a new instance without doing anything... I just wasted my time looking up a function that does... nothing.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜