php - 需要时自动加载函数/类库

标签 php function autoload

首先,介绍一下背景。我工作的公司使用海量函数/类库,每个页面都包含它。成千上万行函数,其中 90% 可能甚至不会在页面上调用。

为了稍微减轻服务器负载,我一直在试验更智能的库设置。为此,我将整个文件拆分为分类库文件(即 sql.functions.php、date.functions.php 等。)

不幸的是,在每个页面上包含每个文件根本没有帮助,有选择地包含文件几乎是不可能的,而且很容易出错。

我正在寻找的是类似于 PHP 的 ___autoload() 函数的设置,它会在启动未知类时自动搜索特定命名的文件,以尝试找到它。

<?php
  function ___autoload($class_name) {
    require_once($class_name.'.class.php');
  }
?>

但是,此函数不适用于函数调用,仅适用于类。

有没有办法指示 PHP 在调用未定义函数(即 html_insert_button();)时自动查找并包含命名函数库?

(在上述情况下,需要加载 html_functions.php,因为它共享函数的前缀)

最佳答案

不幸的是,我认为没有办法自动加载函数。有些人在 SitePoint forums 上争论这个问题.

我个人认为这将是一个很棒的添加,因为它可以让您减少包含的数量。

我采用这种方法来加载我的函数,与 CodeIgniter 的非常相似:

每当我要使用一组函数时,我都会调用一个 library("html") 函数,它将包含我将要使用的库(确保它只包含一次)。

function library($name)
{
    include($name .".lib.php");
}

可能不是您要找的答案,但我就是这样做的。

关于php - 需要时自动加载函数/类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1208903/

相关文章:

composer-php - laravel 5 自动加载不加载模型

PHP - 包括不访问 Stylec 的文件

php - 检查并排除 FOR 循环 PHP 中的 $value 是否为其中一行

c - 如何编写使用其他函数的值的函数

javascript - JavaScript 中只能调用一次的函数

xampp 上的 PHP 自动加载命名空间

javascript - EventSource:总是出错

javascript - PHP 无法接收使用 jquery 发送的数据。导致 php 文件中 undefined variable

c - main 内部的纯函数没有按照我想要的方式获取和处理 x 的各个值

php - 为什么 PHP 在命名空间和自动加载方面对类和函数的处理方式不同?