1

在一个脚本中,我var_dump()用来输出对象:

foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][$this->extKey.'/'.$this->scriptRelPath] as $classRef) {
                $hookObj = t3lib_div::getUserObj($classRef);
                var_dump($hookObj);

结果是:

object(tx_job_dagoupost)#73 (3) { ["extKey"]=> string(3) "job" ["prefixId"]=> string(10) "tx_job_pi1" ["scriptRelPath"]=> string(32) "hooks/class.tx_job_dagoupost.php" } 
object(tx_christianvolunteer_dagoupost)#79 (2) { ["extKey"]=> string(19) "christian_volunteer" ["scriptRelPath"]=> string(47) "hooks/class.tx_christianvolunteer_dagoupost.php" } 
object(tx_watermark_dagoupost)#73 (2) { ["extKey"]=> string(9) "watermark" ["scriptRelPath"]=> string(38) "hooks/class.tx_watermark_dagoupost.php" }

问题:

  1. 是什么#73意思#79

  2. object(tx_job_dagoupost)#73并且object(tx_watermark_dagoupost)#73是不同的对象,但它们具有相同的 id #73,为什么?

4

1 回答 1

0
  1. 正如这里所解释的,符号 # 是对象的 PHP 内部标识符。
  2. 不同对象的相同标识符意味着您的第一个对象(tx_job_dagoupost)是瞬态的(未分配给任何变量或未设置变量),PHP 对下一个对象使用相同的标识符。
于 2013-08-15T02:49:31.293 回答