开发者

PHP - Does a class need to have the same name as the file?

Does a class need to have the same name as it's file.

Ex. class.mysql.php and inside it having class mysql (same)

Ex. class.fish.php and inside it having class mysql (diff)

Also can the format for a class file name be name.c开发者_如何学编程lass.php or does it have to be class.name.php?

Thank You


There is no link between the file name and the class name, you can name the classes in a file anything you want, have multiple classes or have no classes at all. However, it is a good idea to develop a consistent convention to indicate what the file contains via its file name.

Edit:

See Jason McCreary's answer below as some of these conventions have changed.


No on both accounts. These are simply common conventions of PHP developers. It's up to you if you wish to follow them.

Update

While my original answer is still technically correct, the conventions have changed in the last 5 years. Notably the PHP Standards Recommendations released PSR-0 and now PSR-4. These outline file names of PHP classes as well as their path and how they should be namespaced and autoloaded.

You should read the spec for more details, but to paraphrase, the filename should match the class name with a .php extension and the path should match the class namespace.

For example, the class Widget with namespace Acme, would have the path: base/path/Acme/Widget.php.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜