这次很简单的问题,基本上我有一组文件夹,其中一些文件包含我希望在运行我的网站脚本时自动加载的文件。不过,我不想指定要自动加载的文件,因为我希望该过程是动态的,并且我希望能够即时创建和删除不同的文件。 所以当然最简单的解决方案是获取目录中的文件夹列表,并建立自动加载文件的路径,如果文件存在,然后脚本包含它们。 但是,我的问题是会影响我的脚本的性能多少?它实际上是一个我想稍后发布的框架,所以性能是非常重要的。 任何想法?获取目录列表会影响php的性能多少
1
A
回答
4
你应该考虑简单地让PHP autoload your classes。
如果这样做不起作用,那么您几乎只剩下目录扫描解决方案,并且您不应该关心性能损失。如果你想要的功能,你会忍受成本。
一般来说,你不应该在PHP中强调过多的性能。如果在您的框架完成时成为问题,请重新访问它。有机会,你会发现现在通过在你的框架中实现一个好的缓存系统,你现在所带来的任何性能收益/损失都会变得毫无意义。
1
这取决于您的磁盘速度,文件系统和目录的大小。无论如何,动态加载目录以获取文件列表将比加载静态列表花费更长的时间;增加多少可以接受取决于您的要求。
如果是一个选项,缓存该列表可能会有所帮助。
0
自动加载虽然不是“免费”,但效果不明显。当然,如果需要,你可以测量这个和重构。
这里是我的自动加载磁带机:
spl_autoload_register(
function ($className) {
$possibilities = array(
APPLICATION_PATH.'beans'.DIRECTORY_SEPARATOR.$className.'.php',
APPLICATION_PATH.'controllers'.DIRECTORY_SEPARATOR.$className.'.php',
APPLICATION_PATH.'helpers'.DIRECTORY_SEPARATOR.$className.'.php',
APPLICATION_PATH.'models'.DIRECTORY_SEPARATOR.$className.'.php',
APPLICATION_PATH.'views'.DIRECTORY_SEPARATOR.$className.'.php'
);
foreach (explode(PATH_SEPARATOR, ini_get('include_path')) as $k => $v) {
$possibilities[] = $v.DIRECTORY_SEPARATOR.$className.'.php';
}
foreach ($possibilities as $file) {
if (file_exists($file)) {
require_once($file);
return true;
}
}
return false;
}
);
0
这要看情况。
试试你的方法和措施。您可以随时添加缓存。或者使用autoload。
相关问题
- 1. phalcon模型中的多少列映射会影响性能?
- 2. 嵌套数组影响性能的列表大小是多少?
- 3. 很多IFRAME会影响性能吗?
- 4. 转换ROW_NUMBER列会影响性能
- 5. NSClassFromString会影响性能吗?
- 6. mySQL:性能受影响之前表中有多少行?
- 7. 检查java上的列表是否为空会影响性能?
- 8. 尽量减少事件记录的性能影响?
- 9. 性能影响
- 10. https的性能影响,多少?缓存怎么样?
- 11. 减少代码行,而不会影响性能
- 12. 性能的影响
- 13. 复制php变量的性能影响
- 14. 多个xmlns属性会影响页面性能?
- 15. 太多的CSS会影响网站的性能吗?
- 16. StreamReader影响多少内存
- 17. 目录中的文件数量如何影响性能?
- 18. 加载不使用的.php文件是否会影响性能?
- 19. 变量是否会影响性能?
- 20. 使用jaxb XMLAdapter会影响性能吗?
- 21. django adminplus会影响性能吗?
- 22. URL格式会影响性能/缓存?
- 23. Hows是否会影响性能?
- 24. Javascript SetTimeOut会影响页面性能吗?
- 25. $(this)是否会影响性能,如$([selector])?
- 26. PostgreSQL:额外列的性能影响
- 27. 获取目录列表
- 28. LINQ性能影响
- 29. 变化的元素,会影响/不影响派生列表
- 30. QGraphicsScene,项目坐标影响性能?
在您将该数组序列化到缓存文件之后构建列表后,请记住这一点...这实际上是symfony自动加载在1.x系列中的工作原理。 – prodigitalson 2011-02-17 22:30:15