Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中包含类的最佳实践_Php_Oop - Fatal编程技术网

在php中包含类的最佳实践

在php中包含类的最佳实践,php,oop,Php,Oop,保存我将要包含在其他php文件中的文件的最佳做法是什么?如果我将该文件保存为myClass.php或myClass.inc,几乎任何php编码标准都要求类文件与类和结尾的.php同名 转到Test.php 名称空间或伪名称空间将展平到文件夹。意义 // pseudo namespace class Foo_Test { } 或 转到Foo/Test.php 你可以参考 由于历史原因,.inc扩展仍在部署中。在以前,有些人教导保护php文件,这些文件是用来包含但不是用来通过url调用的。然后,

保存我将要包含在其他php文件中的文件的最佳做法是什么?如果我将该文件保存为myClass.php或myClass.inc,几乎任何php编码标准都要求类文件与类和结尾的.php同名

转到Test.php

名称空间或伪名称空间将展平到文件夹。意义

// pseudo namespace
class Foo_Test {

}

转到Foo/Test.php

你可以参考

由于历史原因,.inc扩展仍在部署中。在以前,有些人教导保护php文件,这些文件是用来包含但不是用来通过url调用的。然后,他们将.htaccess文件配置为拒绝对.inc文件的请求

我见过许多web应用程序缺少.htaccess部分的保护,这导致您无法获得源代码!通过浏览器


现代web应用程序不能做到这一点。整个源目录通常位于文档根目录下的文件夹中,因此无法访问,或者整个文件夹受.htaccess规则保护。可通过浏览器访问的只有所谓的前端控制器。这就更有意义了。

几乎任何PHP编码标准都要求类文件与类和结尾.PHP同名

转到Test.php

名称空间或伪名称空间将展平到文件夹。意义

// pseudo namespace
class Foo_Test {

}

转到Foo/Test.php

你可以参考

由于历史原因,.inc扩展仍在部署中。在以前,有些人教导保护php文件,这些文件是用来包含但不是用来通过url调用的。然后,他们将.htaccess文件配置为拒绝对.inc文件的请求

我见过许多web应用程序缺少.htaccess部分的保护,这导致您无法获得源代码!通过浏览器


现代web应用程序不能做到这一点。整个源目录通常位于文档根目录下的文件夹中,因此无法访问,或者整个文件夹受.htaccess规则保护。可通过浏览器访问的只有所谓的前端控制器。这更有意义。

我认为一个好的做法是,如果您在代码中有一个名为MyThing的类,用该名称命名,并使用单词class。例如:

class MyThing
{


}//END MYTHING
将在文件中:

/includes/MyThing.class.php

我认为一个好的实践是,如果代码中有一个名为MyThing的类,用这个名称命名,然后使用单词class。例如:

class MyThing
{


}//END MYTHING
将在文件中:

/includes/MyThing.class.php
使用.php扩展名! 要使用.inc或任何其他扩展,您需要在httpd.confin apache中进行更改

AddType application/x-httpd-php .php

使用.php扩展名! 要使用.inc或任何其他扩展,您需要在httpd.confin apache中进行更改

AddType application/x-httpd-php .php


这里有一些PHP使用.inc的例子。它没有任何意义,它只是一个文件扩展名。如果文件被设计为包含在其他PHP文件中,则使用.inc扩展名命名文件是一些人的惯例,但这只是惯例

它确实有一个可能的缺点,即服务器通常不配置为将.inc文件解析为php,因此如果文件位于web根目录中,并且服务器是以默认方式配置的,则用户可以通过直接访问URL来查看.inc文件中的php源代码,这是不安全的

它唯一可能的优点是很容易识别哪些文件被用作包含文件。尽管只需给它们一个.php扩展名并将它们放在includes文件夹中,也有相同的效果,但没有上述缺点


Font:

有一些PHP使用.inc的示例。它没有任何意义,它只是一个文件扩展名。如果文件被设计为包含在其他PHP文件中,则使用.inc扩展名命名文件是一些人的惯例,但这只是惯例

它确实有一个可能的缺点,即服务器通常不配置为将.inc文件解析为php,因此如果文件位于web根目录中,并且服务器是以默认方式配置的,则用户可以通过直接访问URL来查看.inc文件中的php源代码,这是不安全的

它唯一可能的优点是很容易识别哪些文件被用作包含文件。尽管只需给它们一个.php扩展名并将它们放在includes文件夹中,也有相同的效果,但没有上述缺点

Font:

千万不要在php代码中使用.inc,因为这将允许其他人通过请求您的类文件来查看您的代码以及可能的配置、数据库凭据等

您一定要阅读PSR-4,它是自动装弹机的现行标准。它说明了构建代码的首选方式:

基本上,您总是将文件命名为名称空间和类,如下所示:

类神话转到{prefix}/myThing.php

命名空间抽屉中的类神话转到{prefix}/Drawer /myThing.php

命名空间Room\Drawer中的类神话转到{prefix}/Room/Drawer/myThing.php

等等

如果您想知道,prefix是一个存放类的目录,它可以是任何目录:您的项目目录、模块目录、一些包含目录等。千万不要将.inc用于php代码,因为这样会允许其他人通过请求您的类文件来查看您的代码并可能配置、数据库凭据等

您一定要阅读PSR-4,它是自动装弹机的现行标准。它说明了构建代码的首选方式:

基本上,您总是将文件命名为名称空间和类,如下所示:

类神话转到{prefix}/myThing.php

命名空间抽屉中的类神话转到{prefix}/Drawer/myThing.php

命名空间Room\Drawer中的类神话转到{prefix}/Room/Drawer/myThing.php

等等


如果你想知道,prefix是一个存放类的目录,它可能是任何东西:你的项目目录、模块目录、一些包含目录等

如果是php文件,我会使用任何扩展名,但php。请告诉我你们专业的最佳实践和建议了解FIG标准:use.php,.inc是不安全的。如果它是一个php文件,我会使用任何扩展名,但是php。请告诉我你们专业的最佳实践和建议了解FIG标准:use.php,.inc是不安全的。它可能是一个php文件的副本,但是我也可以使用类myClass{}并将其保存为myClass.ini,然后像必需的“myClass.ini”一样调用该类;但是我也可以创建类myClass{},并将其保存为myClass.ini,然后像必需的“myClass.ini”一样调用这个类;是的,如果默认设置中的服务器将在inc文件中显示代码,那么无论如何只使用php扩展名是正确的如果默认设置中的服务器将在inc文件中显示代码,那么无论如何只使用php扩展名是正确的