I am using namespaces.
I try to create a WordPress widget (http://codex.wordpress.org/Widgets_API)
With namespaces the following gives an error because the arguments can not be passed (and without namespaces it obviously works like usual)
 namespace abc;
 class whatever extends WP_Widget {
   function whatever() {
     parent::WP_Widget('name1', 'name2');
   }
 // .. other functions left out
 }
 add_action('widgets_init',
 create_function('', 'return register_widget("abcwhatever");'));
uhm… what is the correct syntax for ‘parent::WP_Widget’ using namespaces?
(the COMPLETE error message is:
Warning: Missing argument 2 for WP_Widget::__construct(), called in C:xampphtdocswp2wp-includeswidgets.php on line 324 and defined in C:xampphtdocswp2wp-includeswidgets.php on line 93
)
And the debugger shows nothing has been passed:
Variables in local scope (#14) $control_options = Undefined $id_base = boolean false $name = Undefined $widget_options = Undefined
(only the $name is required)
Advertisement
Answer
It seems to me your problem is not in the namespaces, the following code works like a charm:
<?php
namespace Foo;
class Bar {
    function __construct( $foo ) {
        echo "$foon";
    }
}
namespace FooBar;
class Foo extends FooBar {
    function __construct( ) {
        parent::__construct( "This should work." );
    }
}
$foo = new FooBarFoo( );
If you get an error message, it might be helpful to state what it says.