Bug #69557 [Nab]: Unexpected error message using "use" operator before the "namespace" keyword

[email protected] ("me at paulofreitas dot me")
Newsgroups php.standards
Message-ID <[email protected]>
Edit report at https://bugs.php.net/bug.php?id=69557&edit=1

 ID:                 69557
 User updated by:    me at paulofreitas dot me
 Reported by:        me at paulofreitas dot me
 Summary:            Unexpected error message using "use" operator before
                     the "namespace" keyword
 Status:             Not a bug
 Type:               Bug
 Package:            PHP Language Specification
 Operating System:   N/A
 PHP Version:        5.6.8
 Block user comment: N
 Private report:     N

 New Comment:

Citing "How to Report a Bug" page...

"Don't report an error message you don't understand as a bug. There are a lot of places you can ask for help in understanding what is going on before you can claim that an error message you do not understand is a bug."

That's not the case.

"(Now, once you've understood the error message, and have a good suggestion for a way to make the error message more clear, you might consider reporting it as a feature request.)"

Neither that.

It's clearly an unexpected and undocumented behavior per namespaces docs:

"Namespaces are declared using the namespace keyword. A file containing a namespace must declare the namespace at the top of the file before any other code - with one exception: the declare keyword."

(from http://php.net/manual/en/language.namespaces.definition.php)


Previous Comments:
------------------------------------------------------------------------
[2015-05-01 06:09:44] [email protected]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php



------------------------------------------------------------------------
[2015-05-01 04:49:39] me at paulofreitas dot me

Description:
------------
As stated, if you try to use the "use" operator to import something before declaring the file namespace, you'll get an unexpected error message which doesn't actually explain the real issue.

Test script:
---------------
To reproduce the bug: http://3v4l.org/Qc9UO

Expected result: http://3v4l.org/XOGsn (you get the idea...)

Expected result:
----------------
Fatal error: Namespace declaration statement has to be the very first statement in the script in test.php on line 5

Actual result:
--------------
Fatal error: Class 'Foo\Bar' not found in test.php on line 7


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=69557&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.