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

2013-03-17 21:49:05 +08:00
 andybest
有两个操作符不知道什么意思:

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

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

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

懂了,感谢! :)
udonmai
2013-03-17 22:45:24 +08:00
推荐 PHP in action,很不错的,毕竟PHP好书很少
andybest
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
2013-03-18 00:13:39 +08:00
stdout是什么?? 真心菜鸟。。。

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

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

可以完全运行同时输出调试信息:
vardump($a);

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/63232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX