首先,介绍一下背景。我工作的公司使用massive函数/类库,它包含在每个页面上。成千上万行函数,其中 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 论坛 http://www.sitepoint.com/forums/showthread.php?t=587511.
我认为这将是一个很棒的补充,因为它可以让你减少包含的数量。
我采用这种方法来加载我的函数,与 CodeIgniter 的非常相似:
每当我要使用一组函数时,我都会调用一个库(“html”)函数,该函数将包含我将要使用的库(确保它只包含一次)。
function library($name)
{
include($name .".lib.php");
}
可能不是您正在寻找的答案,但这就是我的做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)