php – 有什么方法可以避免为非oo应用程序加载未使用的类?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 有什么方法可以避免为非oo应用程序加载未使用的类?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1748字,纯文字阅读大概需要3分钟。
内容图文
我的应用程序使用一个“中央”页面控制器,在获取请求之前,使用require_once抓取一堆文件(我犹豫地说库),每个文件包含几个相关的类.如:
require_once (dir_lib . 'db.php');
require_once (dir_lib . 'uuid.php');
require_once (dir_lib . 'data.php');
require_once (dir_lib . 'token.php');
require_once (dir_lib . 'logs.php');
require_once (dir_lib . 'time.php');
等等…
直到最近安装(真棒,但巨大的)“HTML Purifier”库并浏览其自动加载器时,我还没有费心去检查内存使用情况.显然,自动加载器没有,每个脚本实例现在重量惊人(甜蜜的耶稣!)5376千字节的内存使用量. (我不知道内置的自动加载器是什么,如果这是最终结果,但我离题了)没有HTML净化器,大多数实例仍然超过一兆字节.
阅读PHP autoload functions我得到的印象是自动加载器严格意味着OOP.除了净化器库,我使用的是非常少的面向对象的代码.我只是误解了这个概念?有没有其他实用的方法可以避免盲目加载每个请求可能不需要的一堆类?我只是懒得试图将它们全部包含在前面吗?
编辑 –
在这里重复这个评论以澄清我对非oo的意思,如果这有很大的不同:
I am
basically using classes in lieu of
namespaces without using (hardly) any
actual OOP. That is to say, the
“DBFunctions” class may contain, for
example, the functions “execute” and
“getRow”. The functions are invoked
with a static method call such as
“dbFunctions::execute($sql).”
解决方法:
这些函数文件是否有特殊原因不是类?我能想到的唯一一个就是PHP4兼容性,但无论如何PHP4中都不存在自动加载.
只需将DBFunctions {…}类中的现有代码文件包装起来,并使用DBFunctions :: to匹配函数调用就足以让自动加载器开始工作(在设置spl_autoload_register()回调以适应之后),这是值得的它.如果你想以这种方式保持代码,那么它仍然具有风格上的程序性,如果你想要这样做,那么向整个代码库进行OOP化也是一个不错的选择.
(并且HTML Purifier是一个大象,你有没有检查过PHP的内部filter功能?)
内容总结
以上是互联网集市为您收集整理的php – 有什么方法可以避免为非oo应用程序加载未使用的类?全部内容,希望文章能够帮你解决php – 有什么方法可以避免为非oo应用程序加载未使用的类?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。