当前位置:  开发笔记 > 编程语言 > 正文

性能会在php中使用自动加载并搜索类文件吗?

如何解决《性能会在php中使用自动加载并搜索类文件吗?》经验,为你挑选了2个好方法。

我一直在努力如何最好地将类包含到我的PHP代码中.路径通常是一个问题,但几分钟前我发现这个问题显着有助于此.现在我正在阅读__autoload并认为它可以使我的应用程序开发过程变得更加容易.问题是我喜欢将文件夹结构保持为独立的功能区域,而不是将所有内容都放入通用/ lib文件夹中.因此,如果我覆盖自动加载以深入搜索包含所有子文件夹的类文件夹,我可以期待什么性能命中?

显然这将取决于文件夹结构的规模,深度和类的数量,但一般来说,我要求中等规模的项目会导致问题.



1> Gavin M. Roy..:

__autoload很棒,但是在递归搜索功能中声明所有文件的成本很高.您可能希望查看构建用于自动加载的文件树.在我的框架中,我一直为其类命名文件,并使用为数据缓存的映射.

查看http://trac.framewerk.org/cgi-bin/trac.fcgi/browser/trunk/index.php [ 死链接 ],从第68行开始,了解如何做到这一点.

编辑:为了更直接地回答您的问题,无需缓存,您可以预期中等到高流量的网站会受到性能影响.


不应为每次页面加载都重置它,因为页面加载是来自受​​到良好攻击的网站。我在tmp中写入了一个文件,当我通过添加类对应用程序进行更改时,我通过在tmp中删除了文件来删除了缓存的数据,该文件将在下一次匹配时自动生成。

2> Greg..:

一个常见的模式(Pear,Zend Framework作为示例......)是使类名反映路径,因此Db_Adapter_Mysql将位于/Db/Adapter/Mysql.php中,从添加到include-path的某个位置开始.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有