php – 在CodeIgniter中添加新库

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在CodeIgniter中添加新库脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚开始学习CodeignITer,我正在按照nettuts进行 this认证教程.我不明白其中的一件事:

他在Welcome控制器中添加了以下构造函数代码,只有在Session具有可变用户名时才能访问它,否则它将重定向到管理控制器.

function __construct()
    {
        session_start();
        parent::__construct();

        if ( !isset($_SESSION['username'])){
            redirect('admin');      
        }       
    }

他说:

是否意味着,我应该

>在应用程序/库中创建一个文件(例如,auth.PHP)
>将此代码粘贴到auth.PHP

.

if ( !isset($_SESSION['username'])){
            redirect('admin');      
        }

现在如何自动加载这个库,并在每次加载控制器时使其运行,如他所说的那样?
    谢谢

解决方法

1)自动加载一个库,只需将它添加文件application / config / autoload.PHP中的数组中,查找’library’部分并粘贴库的名称(不带扩展名),作为数组的元素.

$autoload['libraries'] = array ('auth');

2)我建议你使用原生会话处理程序(会话库),它工作得很好,避免你使用PHP $_SESSION.您设置度$this-> session-> set_userdata(array(‘username’=>’User1′,’LOGged’=>’true’),然后使用$this->检索值session-> userdata [‘logged’],例如.

像魅力一样工作,不必调用session_start()等.去检查帮助,因为它真的非常清楚.

3)至于你的问题,我会选择“钩子”.有不同的钩子,取决于他们的“位置”,即你打电话给他们的那一刻.

你可以使用,例如’post_controller_constructor’,它在控制器初始化之后但在方法之前调用,因此它位于构造函数和实际方法之间.我通常在这里插入这些控件.

你在application / config / hooks.PHP中定义了钩子,给它们一个数组:

$hook['post_controller_constructor'] = array(
      'class'    => 'Auth','function' => 'check','filename' => 'auth.PHP',filepath' => 'hooks','params'   => array()
    );

无论如何,对于所有这些需求,文档非常明确和直接,我建议你阅读钩子和会话,你会看到一切都变得更加清晰!

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在CodeIgniter中添加新库全部内容,希望文章能够帮你解决php – 在CodeIgniter中添加新库所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。