仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2330|回复: 20
打印 上一主题 下一主题

[学习教程] PHP教程之若何防止利用php的require_once

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:33:20 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。      咱们晓得,在php中利用require_once/include_once固然便利,然而价值昂贵,据测试数据来看,require_once比require慢3-4倍,所以在php开辟中,咱们应当尽可能利用require/include。
    列一下俺经常使用的防止require/include的办法。
    利用__autoload
    php5可使用__autoload来防止require,用的好的话,代码外头乃至看不到几个require,其实是安适啊。测试了局标明,利用__autoload以后的new Foo; 比require_once ‘foo.php’; new Foo; 也许要快3倍摆布。
    增补:为了不autoload抵触,可以思索利用spl_autoload_register(PHP 5 >= 5.1.2)来改动魔术函数__autoload的行动。
    利用defined检测是不是载入过
    在代码开首利用defined检测是不是界说过对应的常量,假如有的话,直接return。
    <?php
    if(!defined('_MYCLASS_'))
    return;
    define('_MYCLASS_', 1);
    class MyClass { ... }
    ?>
    测试了一下,defined的功能也不是太好…
    require前反省
    用class_exists或function_exists反省一下,确认没有载入过再出手,最少比require_once能快上3倍。php4也能够用上。
    class_exists('myClass') or require('/path/to/myClass.class.php');
一些真正的强人总会搞出新玩意来丢给你,你不学就落后了,也印证了前人的经验,果然是学无止境啊!
谁可相欹 该用户已被删除
沙发
 楼主| 发表于 2015-3-6 11:08:52 | 显示全部楼层
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-22 08:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表