那里有inbuilt PHP functions个地狱.我想知道在担任软件工程师近两年半之后,我几乎没有使用其中的一小部分.但是所有这些都已定义,并且可以与默认的PHP安装一起使用.
我在SO的某个地方读到,PHP提供了所有这些内置的功能,但是用JAVA之类的语言执行类似的操作需要大量的编码.那是对的吗?我没有其他语言的丰富经验.
另外,我是否正确地假设这些功能的很大一部分未被其他任何内置函数或任何东西(内部依赖项)使用?例如.仅在PDF和gzip文件相关的情况下才需要这些功能pdf_fit_table()、gzopen().
如果是这样,那么作为高级程序员,PHP是否提供任何选择给我们,以根据特定的项目需求选择性地加载它们,或者根据特定的模块更动态地加载它们?例如仅当我有PDF相关任务时才加载PDF相关功能.如果可能,可以在什么级别上完成?如果在PHP安装级别,那么我认为在共享主机的情况下是不可能的.有更好的解决方案吗?
我只是从常识的角度讲,我们包含的文件中包含需要的功能.
它会提高性能吗?
我不太了解PHP的核心库等.因此,请说明一下.
更新:
感谢您的回答
@ pygorex1-HipHop方法是整体优化PHP.因此,简单地说,如果我是正确的话,如果在使用HipHop之前花了1秒钟运行时间,则可能需要0.7秒.但是在这两种情况下,那些多余的未定义函数的存在都会增加其开销(例如,在第一种情况下为0.1秒,在HipHop情况下为0.07秒).如果是这样,那么HipHop会定位其他目标,并且无法回答我的问题.但是,您提供的其他两点是,必须在编译时完成所有操作.因此,这可能意味着如果我使用扩展进行编译,则每次都会加载该扩展下的功能组.那么可能没有其他方法可以删除包含物了吗?某种超越?
@Tyler-我同意可能很难做到我所要的,但原因不是你在说什么.找出依赖关系并不难.仅应用常识,我可以说is_numeric(),is_array(),array_walk(),func_get_args()等函数是非常基本的函数,可能被许多人调用,但是有一些容易区分的组,例如包含以下内容的套接字函数组:例如socket_connect(),如果没有明确需要,则不必包含在内.问题可能是在编译时需要指定它,例如pygorex1已回答.
解决方法:
有dl()个可以在运行时加载PHP扩展.
动态加载扩展的示例:
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
标签:settings,php,function
来源: https://codeday.me/bug/20191023/1914602.html