PHP 包含/需要内部函数
2022-08-30 21:48:23
如果函数非常大,并且每次加载页面时都会加载它们,那么编写以最小化函数脚本的大小会更好吗?或者这并不重要,因为当加载(但未执行)函数时,即使内容已放入包含中,也会加载内容?谢谢。function foo(){ include(.../file_with_function's_code); return; }
(编辑:我的问题不是关于它是否可能)
如果函数非常大,并且每次加载页面时都会加载它们,那么编写以最小化函数脚本的大小会更好吗?或者这并不重要,因为当加载(但未执行)函数时,即使内容已放入包含中,也会加载内容?谢谢。function foo(){ include(.../file_with_function's_code); return; }
(编辑:我的问题不是关于它是否可能)
虽然@Luceos答案在技术上是正确的(最好的正确类型),但它并没有回答你提出的问题,即是否做得更好,或者无论函数调用如何,都包含都会发生?
我以最基本的方式测试了这个(OP,你为什么不这样做?
<?php
echo "Testing...";
function doThing() {
include nonExistantFile.php;
}
//doThing();
echo "Done testing.";
结果:
如果我打电话,我得到一个文件未找到警告。doThing();
如果我注释掉...没有错误!因此,您可以通过执行此操作来节省文件加载时间。doThing();
或者,作为一个很好的替代方案,将函数封装在类中,并利用__autoload
的好处:
function __autoload($class_name) {
include $class_name . '.php';
}
封装在类中myBigFunction()
class myBigFunction {
public static function run() {
//the old code goes here
}
}
另存为myBigFunction.php
当您在类上将函数作为静态方法调用时:
myBigFunction::run()
__autoload
将加载文件,但不在此之前。