|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #53800 namespace, interfaces and classes
Submitted: 2011-01-20 23:53 UTC Modified: 2011-01-21 01:21 UTC
From: tommyhp2 at gmail dot com Assigned:
Status: Closed Package: CGI/CLI related
PHP Version: 5.3.5 OS: Windows 2008 R2
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: tommyhp2 at gmail dot com
New email:
PHP Version: OS:


 [2011-01-20 23:53 UTC] tommyhp2 at gmail dot com
The script works as expected when not using namespace.  I get a fatal error on my "class SimpleCommand extends Notifier implements ICommand, INotifier" declaration.

Test script:
namespace org\puremvc\php\interfaces;
interface ICommand
  function execute(INotification $notification);
interface INotifier
  function sendNotification($notificationName, $body = null, $type = null);
namespace org\puremvc\php\patterns\observer;
use org\puremvc\php\interfaces\INotifier;
class Notifier implements INotifier
  public function __construct() { echo __METHOD__; }
  public function sendNotification($notificationName, $body = null, $type = null) { }
namespace org\puremvc\php\patterns\command;
use org\puremvc\php\interfaces\ICommand;
use org\puremvc\php\interfaces\INotifier;
use org\puremvc\php\patterns\observer\Notifier;
class SimpleCommand extends Notifier implements ICommand, INotifier
  public function __construct() { parent::__construct(); echo ' -> ';  echo __METHOD__; }
  function execute(INotification $notification) { }

echo '<br/>'; new \org\puremvc\php\patterns\observer\Notifier();
echo '<br/>'; new \org\puremvc\php\patterns\command\SimpleCommand();

Expected result:
org\puremvc\php\patterns\observer\Notifier::__construct -> 

Actual result:
Fatal error: Declaration of org\puremvc\php\patterns\command\SimpleCommand::execute() must be compatible with that of org\puremvc\php\interfaces\ICommand::execute() on line 21


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2011-01-21 01:21 UTC] tommyhp2 at gmail dot com
-Status: Open +Status: Closed
 [2011-01-21 01:21 UTC] tommyhp2 at gmail dot com
sorry ... found my problem.

use org\puremvc\php\patterns\observer\Notifier;

\N >.> perhaps this should be a request changing \ to / to prevent escaping?

Thanks for your time.
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Mon Aug 02 15:01:24 2021 UTC