将PHP类转换为本机类

将PHP类转换为本机类,php,pear,Php,Pear,有没有一种方法可以将一组PHP类嵌入到PHP中,这样我就可以本地调用它们,而不必每次都将这些类作为文件包含?我需要在本地或专用服务器上使用此文件。只需将路径添加到php.ini,它们将始终在该服务器上可用。只需将路径添加到php.ini,它们将始终在该服务器上可用。如果我理解正确,您可能需要使用 来自@的说明: 不应使用_autoload()函数 不再被使用,因为如果你使用 定义 spl加载器,该函数从不调用 从那时起 因此,如果您坚持使用,效果会更好。如果我理解正确,您可能需要使用 来自@的说

有没有一种方法可以将一组PHP类嵌入到PHP中,这样我就可以本地调用它们,而不必每次都将这些类作为文件包含?我需要在本地或专用服务器上使用此文件。

只需将路径添加到php.ini,它们将始终在该服务器上可用。

只需将路径添加到php.ini,它们将始终在该服务器上可用。

如果我理解正确,您可能需要使用

来自@的说明:

不应使用_autoload()函数 不再被使用,因为如果你使用 定义 spl加载器,该函数从不调用 从那时起

因此,如果您坚持使用,效果会更好。

如果我理解正确,您可能需要使用

来自@的说明:

不应使用_autoload()函数 不再被使用,因为如果你使用 定义 spl加载器,该函数从不调用 从那时起


因此,如果您坚持使用,那就更好了。

将每个文件的内容复制到一个文件
classes.inc.php
中,只包含这个文件

[编辑] 我认为您不需要太多的性能,因为PHP已经很快了。但是如果你真的把你需要的每个类文件都包含到每个文件中,有时只需要其中一个类,那就不是个好主意

为什么不将类拆分为模块:

例如:DatabaseModule
database.module.php
包含类
连接
查询
结果

然后将所有类按如下方式分组,并将它们移动到目录
modules/

您可以使用自定义函数,下面是一个简单的示例:

<?php
function loadModule($name) {
    $file_path = './modules/' . $name . '.module.php';
    require_once $file_path;
}
?>

现在,您可以使用
loadModule
功能在每个文件中添加所需的所有模块


我希望这对您有所帮助。

将每个文件的内容复制到
文件
classes.inc.php
中,只包含此文件

[编辑] 我认为您不需要太多的性能,因为PHP已经很快了。但是如果你真的把你需要的每个类文件都包含到每个文件中,有时只需要其中一个类,那就不是个好主意

为什么不将类拆分为模块:

例如:DatabaseModule
database.module.php
包含类
连接
查询
结果

然后将所有类按如下方式分组,并将它们移动到目录
modules/

您可以使用自定义函数,下面是一个简单的示例:

<?php
function loadModule($name) {
    $file_path = './modules/' . $name . '.module.php';
    require_once $file_path;
}
?>

现在,您可以使用
loadModule
功能在每个文件中添加所需的所有模块


我希望这对您有所帮助。

对于懒惰,您可以使用php.ini设置:

 auto_prepend_file = /usr/share/php/allmypredefinedclasses.php
在运行任何脚本之前都会包含。听起来这就是你想要的。它可以很好地定义类或函数,或者只是一个自动加载程序。但您应该避免将其用于过度特定于项目的功能,因为它会影响所有PHP脚本


(我个人使用它来限制PHP6的某些功能。)

对于懒惰,您可以使用php.ini设置:

 auto_prepend_file = /usr/share/php/allmypredefinedclasses.php
在运行任何脚本之前都会包含。听起来这就是你想要的。它可以很好地定义类或函数,或者只是一个自动加载程序。但您应该避免将其用于过度特定于项目的功能,因为它会影响所有PHP脚本


(我个人用它来实现一些PHP6功能。)

如果您使用的是MVC模式,例如,每个请求都调用index.php页面,那么自动加载将是一个很好的解决方案。如果失败,您可以按照前面的建议使用“auto_prepend_file”


希望能有所帮助。

如果您使用的是MVC模式,例如,每个请求都会调用index.php页面,那么自动加载将是一个很好的解决方案。如果失败,您可以按照前面的建议使用“auto_prepend_file”



希望这能有所帮助。

为什么要这样做?它能为您解决什么问题?@Tim如果您将函数文件更改为新版本,并希望确保每个文件都使用新版本,这很好。我想缩短处理这些文件的时间,并将它们作为PHP的本机部分,在我的专用服务器上,为什么要这样做?它能为您解决什么问题?@Tim如果您将函数文件更改为新版本,并希望确保每个文件都使用新版本,这很好。我想缩短处理这些文件的时间,并在我的专用服务器上使用它们作为PHP的本机部分。我还建议使用函数不应该再使用了,因为如果您使用其他定义spl加载器的库,该函数从那时起就不再被调用。但在这里,我仍然需要将类作为文件调用&这正是我不想做的@是的,你是对的。但是你不需要包括它们。这是不是最初的问题?我还建议不要再使用.the
\uu autoload()
函数,因为如果使用其他定义spl加载程序的库,从那以后就再也不会调用该函数了。但在这里,我仍然需要将类作为文件调用&这正是我不想做的@是的,你是对的。但是你不需要包括它们。这就是最初的问题,或者不是?我想缩短这些类被php修改的时间,并将它们作为语言的本机部分使用。为什么不使用一个工具,将服务器上的php预编译为C代码,这使得它非常快。leo,我已经在使用这种风格了,但正如我告诉你的,我想把所有这些都删掉,随时在任何文件中调用我想要的任何类,不包括类文件或使用附加函数,谢谢:)我想删掉这些类被php修改的次数,只把它们作为语言的本机部分,为什么不使用呢