如果我将该文件保存为php
或myClass.php
myClass.inc
文件中
答案 0 :(得分:3)
几乎所有PHP编码标准都要求类文件与类和结尾.php
具有相同的名称。
class Test {
}
转到Test.php
命名空间或“伪命名空间”将展平为文件夹。含义
// pseudo namespace
class Foo_Test {
}
或
// "real" namespace
namespace Foo;
class Test {
}
转到Foo/Test.php
。
您可以参考
由于历史原因,仍会部署.inc
扩展名。以前有些人教过“保护”php文件,这些文件用于包括但不能通过url使用此扩展名进行调用。然后他们配置了.htaccess文件以拒绝.inc
个文件的请求。
我见过许多Web应用程序错过了该保护的.htaccess部分,导致您可以通过浏览器获取源代码(!)。
现代网络应用程序不这样做。整个源目录通常位于文档根目录下的文件夹中,因此无法访问,或者整个文件夹受.htaccess规则保护。通过浏览器访问只是所谓的前端控制器。这更有意义。
答案 1 :(得分:3)
有一些PHP使用.inc的例子。它没有任何意义,它只是一个文件扩展名。如果该文件被设计为包含在其他PHP文件中,那么命名具有.inc扩展名的文件是一些人的惯例,但它只是惯例。
它确实有一个可能的缺点,即服务器通常没有配置为将.inc文件解析为php,所以如果文件位于你的web根目录中并且你的服务器是以默认方式配置的,那么用户可以查看你的php通过直接访问URL确认.inc文件中的源代码是不安全的。
唯一可能的优点是很容易识别哪些文件被用作包含。虽然简单地给它们一个.php扩展名并将它们放在一个包含文件夹中但具有相同的效果而没有上面提到的缺点。
答案 2 :(得分:1)
使用.php
扩展程序!
使用.inc
或您需要在httpd.conf
(在apache中)更改的任何其他扩展程序,如
AddType application/x-httpd-php .php
到
AddType application/x-httpd-php .php .inc
答案 3 :(得分:1)
永远不要将.inc用于php代码,因为这样可以让其他人通过请求您的类文件来查看您的代码(以及可能的配置,数据库凭据等)
你一定要阅读PSR-4,这是自动加载机的当前标准。它说明了构造代码的首选方法:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-meta.md https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md
基本上,您总是将文件命名为命名空间和类,如下所示:
班级myThing
转到{prefix}/myThing.php
myThing
的类Drawer
转到{prefix}/Drawer/myThing.php
myThing
的类Room\Drawer
转到{prefix}/Room/Drawer/myThing.php
等等
如果您想知道,prefix
是您保存课程的目录,它可能是任何内容:您的项目目录,模块目录,某些includes
目录等
答案 4 :(得分:0)
我认为一个好的做法是,如果您在代码中有一个名为“MyThing”的类,使用该名称命名,并使用“class”这个词。例如:
class MyThing
{
}//END MYTHING
将在文件中:
/includes/MyThing.class.php