php是什么时候启动的,PHP何时启动Notice机制

根据几天来的尝试,发现PHP的Notice机制在特定的情况下会触发。

1、无法确定变量类型时。

2、数组Key值未预定义。

在上面情况的基础上,下面第一种情况会触发未定义Notice,其他情况则保持静默。

第一种:

if($test)

会先判断数据类型,若无法确定,则一直往代码上层追溯,显示Notice错误代码位置。

第二种:

if(empty($test))

会略过直接类型判断,只判断$test数值,即使$test未定义,也不会报Notice。

所以,在代码构建过程中,尽量不要使用不可控的方式,如if($test)这种方式就非常危险。

同时,在function内部,要对返回值有足够的控制,包括数据类型和数值的控制。

若该function直接返回一个未定义的$return_value,则上层调用该function的代码就会很尴尬,稍微不注意(有些人会直接采用if($test)的方式调用),就会产生Notice,这在大型Web底层框架的设计中是非常致命的。

Tips:PHP不会在代码构建中报错,而会在关键判断点时报错。

优美的代码格局是一个人基本的审美素养,将不可控变为可控,这是每个程序员必修的课程。

kearney 写于 2012.9.14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值