dropme 2011-12-07 12:10:22 2853次浏览 10条回复 0 0 0

菜鸟一只,遇到个郁闷的情况,请各位高手解答~~ 我在protected/extensions目录下面新建了一个utils.php,把我常用的一些辅助函数写在这里面,比如有一个

function savefile($content)
{
    $fp=fopen('e:\log.txt', 'w');
    ..
    ....
}

然后我在sitecontroller的actionindex方法里,调用这个函数,结果没用的。就是神马反应也没有,也不报错,也没保存文件; 然后我直接把这个函数复制到sitecontroller里,写成这个controller的私有方法,就有用了,可以正常的保存文件。

这神马情况?

最郁闷的是,在savefile里写个echo 'xxx'; 在页面上看不到的。。。。。想输出些内容调试下都没办法。郁闷死鸟~高手给指点下吧

  • 回复于 2011-12-07 12:24 举报

    extensions下面的内容需要在main.php里面引入。
    其实不若放在components下面舒服。

  • 回复于 2011-12-07 12:30 举报

    在config/main.php里面的improt下
    'application.extensions.*',

    这个我已经加了呀。。

  • 回复于 2011-12-07 12:32 举报

    放到component目录下也没有。。我擦。。

  • 回复于 2011-12-07 12:34 举报

    你写的是什么 函数 还是类?

  • 回复于 2011-12-07 12:35 举报

    只是函数啊,没有写成类~

  • 回复于 2011-12-07 12:40 举报

    要写成类,方法定义为静态较好

  • 回复于 2011-12-07 12:40 举报

    在config/main.php里面的improt下
    'application.components.*',

    引入类,再用类名::方法调用

  • 回复于 2011-12-07 13:07 举报

    那你只能使用require了

  • 回复于 2011-12-07 13:11 举报

    搞定了,我用了require。import只能引用class啊。。

  • 回复于 2011-12-08 10:41 举报
    <?php
    class Helper {
        public static function savefile($content){
            echo 'something...';
        }
    }?>
    

    放到components目录下,然后用Helper::savefile($content)就可以来哈!

您需要登录后才可以回复。登录 | 立即注册