首页 > 就业 > 笔试

Yahoo-PHP笔试试题

Yahoo-PHP笔试试题



Yahoo-PHP笔试试题

  1. foo() 与 @foo() 有什么分别?

  2. 你如何替 PHP 的应用程式侦错?

  3. 「===」是什么?试举一例「==」是真但「===」是错。

  4. 你会如何定义一个没有成员函式或特性的类别 myclass?

  5. 你如何产生一个 myclass 的物件?

  以下是 Matt Wilkin 提供的解答:

  1. foo() 与 @foo() 有什么分别?

  foo() 会执行这个函式,任何解译错误、语法错误、执行错误都会在页面上显示出来。

  @foo() 在执行这个函式时,会隐藏所有上述的错误讯息。

  很多应用程式都使用 @mysql_connect() 和 @mysql_query 来隐藏 mysql 的错误讯息,我认为这是很严重的失误,因为错误不该被隐藏,你必须妥善处理它们,可能的话解决它们。

  2. 你如何替 PHP 的应用程式侦错?

  我并不常这样做,我曾经试过很多不同的侦错工具,在 Linux 系统中设定这些工具一点也不容易。不过以下我会介绍一个近来颇受注目的侦错工具。

  PHP – Advanced PHP Debugger 或称 PHP – APD,第一步是执行以下的指令安装:

  pear install apd

  安装后在你的脚本的开头位置加入以下的语句开始进行侦错:

  apd_set_pprof_trace();

  执行完毕,打开以下档案来查阅执行日誌:

  apd.dumpdir

  你也可以使用 pprofp 来格式化日誌。

  详细的.资料可以参阅 http://us.php.net/manual/en/ref.apd.php。

  3. 「===」是什么?试举一个「==」是真但「===」是假的例子。

  「===」是给既可以送回布尔值「假」,也可以送回一个不是布尔值但却可以赋与「假」值的函式,strpos() 和 strrpos() 便是其中两个例子。

  问题的第二部份有点困难,想一个「==」是假,但是「===」是真的例子却很容易,相反的例子却很少。但我终于找到以下的例子:

  1

  2

  3

  4

  5

  6

  7

  8

  if (strpos("abc", "a") == true)

  {

  // 这部分永不会被执行,因为 "a" 的位置是 0,换算成布尔值「假」

  }

  if (strpos("abc", "a") === true)

  {

  // 这部份会被执行,因为「===」保证函式 strpos() 的送回值不会换算成布尔值.

  }

  4. 你会如何定义一个没有成员函式或特性的类别 myclass?

  1

  2

  3

  class myclass

  {

  }

  5. 你如何产生一个 myclass 的物件?

  $obj = new myclass();

  没有比这个更简单的了。

    版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。

    本文地址:https://www.gunzhua.com/jiuye/bishi/29285.html

相关内容

热门阅读
随机推荐