Zend Debbugger is including the wrong file.
It's including
/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos/includes/steps-ui.php
, rather than
/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/includes/steps-ui.php
As you can see, the files have the same file name, but a different path.
Here's what happens:
I am using Zend Debugger v5.3 with Zend Engine v2.4.0, php 5.4 to debug Wordpress 4.2.1 with plugins BadgeOS 1.4.4 and BadgeOS Community Add-On v 1.2.0 (plus a few more non-pertinent plugins).
I get the following compile error in the Eclipse console:
Compile Error: /tenjin/src/wordpress/wp-content/plugins/badgeos/includes/steps-ui.php line 23 - Cannot redeclare badgeos_steps_ui_admin_scripts() (previously declared in /home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/includes/steps-ui.php:18)
badgeos_steps_ui_admin_scripts
does not actually exist in /home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/includes/steps-ui.php
Zend Debugger is actually including /tenjin/src/wordpress/wp-content/plugins/badgeos/includes/steps-ui.php
twice when its not suppose to.
Here's how I can tell:
I have a breakpoint at /tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/badgeos-community.php
at line 90. where it is instructed to
require_once( $this->directory_path . '/includes/steps-ui.php' );
The value of $this->directory_path
is /home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/
However, if I do a step into at that point, the debugger ends up at line 18 of
/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos/includes/steps-ui.php
,
not
/home/jlam/code/tenjin/src/wordpress/wp-content/plugins/badgeos-community-add-on/includes/steps-ui.php