V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
andybest
V2EX  ›  问与答

PHP的几个问题,伸手党了不好意思(一定感谢)

  •  
  •   andybest · 2013-03-17 21:49:05 +08:00 · 3292 次点击
    这是一个创建于 4262 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有两个操作符不知道什么意思:

    问题1:
    $censor->check($message);
    这个->是什么意思?是不是调用$censor变量(实际是个类?)的check方法?

    问题2:
    $censor = xx_censor::instance();
    ::是什么意思?instance()是方法,那么前面的xx_censor是什么?
    9 条回复    1970-01-01 08:00:00 +08:00
    shinwood
        1
    shinwood  
       2013-03-17 22:02:28 +08:00   ❤️ 1
    1. $censor->check($message)
    $censor 是一个实例化以后的对象,check 是方法,$message 为传入参数。

    2. $censor = xx_censor::instance();
    xx_censor 为对象名,instance 为方法,估计是实例化返回一个对象,$censor 就是实例化以后的对象。PHP 中也可以用 $censor = new xx_censor(); 实例化对象。
    barbery
        2
    barbery  
       2013-03-17 22:06:56 +08:00   ❤️ 1
    补充下第二个问题。。。之所以是用 “::” 调用 是因为那个方法是静态方法,也就是是pubic static function 这样的方法,可以直接用 类名 class_name::function() 调用
    andybest
        3
    andybest  
    OP
       2013-03-17 22:18:36 +08:00
    @shinwood
    @barbery

    懂了,感谢! :)
    udonmai
        4
    udonmai  
       2013-03-17 22:45:24 +08:00   ❤️ 1
    推荐 PHP in action,很不错的,毕竟PHP好书很少
    andybest
        5
    andybest  
    OP
       2013-03-17 22:57:52 +08:00
    @shinwood @barbery @udonmai

    想再请教一个问题,不好意思新开贴
    怎么在php一个函数里增加例如stdout输出这样的调试信息?通常是怎么调试的?

    例如:
    function censor($message, $modword = NULL, $return = FALSE) {
    //我想在这里加一个 stdout("hello world"); 之类的
    return helper_form::censor($message, $modword, $return);
    }

    (我的php是用fast-cgi跑起来的)
    FreDom
        6
    FreDom  
       2013-03-18 00:13:39 +08:00   ❤️ 1
    stdout是什么?? 真心菜鸟。。。

    如果纯粹是输出“hello world”的意思的话,直接echo “hello world”就行了,如果是要调试变量的话,可以用print_r($var) 或者是var_dump($var)。

    不知道是不是楼主想要的答案。。。
    xlmo
        7
    xlmo  
       2013-03-18 00:16:23 +08:00
    为什么不找本书从头开始看呢?这些都是基础啊。
    solf
        8
    solf  
       2013-03-18 06:45:34 +08:00   ❤️ 1
    echo "hello world";
    udonmai
        9
    udonmai  
       2013-03-18 22:33:14 +08:00
    可以在需要查看的地方中断:
    exit 0;

    可以完全运行同时输出调试信息:
    vardump($a);
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:32 · PVG 08:32 · LAX 16:32 · JFK 19:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.