在需要的时候自动装载功能/类库(Auto-load function / class librari

2019-09-21 12:28发布

首先,一些背景知识。 在我工作的公司采用了大量的功能/类库,它被包括每一个页面上。 成千上万的功能线,其中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将需要加载,因为这股函数的前缀)

Answer 1:

我不相信有一种方法可以自动加载功能很遗憾。 一些人认为在这个SitePoint论坛 。

我一想这将是一个真棒此外,因为它会让你减少inlcudes量。

我把这个方法来加载我的功能,非常类似于CodeIgniter的:

每当我去使用一组功能,我会打电话给库(“HTML”)功能,这将包括我将要使用的库(确保它仅包含一次)。

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

也许不是你正在寻找的答案,但是这是我要做的事。



文章来源: Auto-load function / class libraries when needed