Gotta love those PHP error messages

In: PHP

20 Jul 2004

Coding Object Oriented PHP sure has its perks, one of which is the mildly amusing error message I chanced upon below (in an implementation session that turned out to be a major debugging frenzy).

parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM


A quick search reveals the cryptic error error message to mean ‘a pair of colons’ in Hebrew. You get that when you leave in an extra ‘$’ when addressing a class method, such as:

$SomeObject::someMethod();

And no class-wide static variables in pre-version 5 PHP? Does not compute…

14 Responses to Gotta love those PHP error messages

Avatar

Dan Allen

July 20th, 2004 at 11pm

I have done a lot of programming in PHP and I concur, that parse errors are often times very bizarre. The runtime errors which PHP generates are very informative, especially with the backtrace function in PHP 4.2.

One nice aspect of Java is that you know when you execute the program that all parse errors are gone. I wonder if there is a syntax checker written for the PHP language that would assist in checking your code for validatity. It wouldn’t be a bad idea. Then you could setup ant to run it on your project.

Avatar

Aaron Brazell

July 21st, 2004 at 1am

I really need to foray into OOP PHP. I am missing so much fun. :p

Avatar

Khlo

July 21st, 2004 at 1am

paamayim nekudotayim seems to be the official name of the :: notation – look at the manual:

http://uk2.php.net/manual/en/keyword.paamayim-nekudotayim.php

Wonder if it means something in some foreign language.

Avatar

Cheah Chu Yeow

July 21st, 2004 at 1am

Dan: Well, that’s one of the main premises of an interpreted language I guess. Though what you said about a syntax checker would be cool.

Aaron: Nah it’s not fun. It feels semi-broken (but mind you, I come from a Java programming background).

Khlo: Yup it means ‘a pair of colons’ in Hebrew.

Avatar

Stephan Segraves

July 21st, 2004 at 2am

I know what you mean about it feeling like it’s broken… After spending a ton of time using Java and being so strict with the way I handle objects, pass values, and implement I am somewhat reluctant to give it a go in PHP.

Avatar

TeRanEX

July 21st, 2004 at 2am

There is a PHP parser that highlights syntax errors available as a plugin for jEdit (a lovely editor!), but I haven’t tried it myself yet because it needs the current development version of jEdit (4.2) and i’m using the stable version (4.1)
You can find jEdit here: http://www.jedit.org/
and the plugin here: http://plugins.jedit.org/plugins/?PHPParser

Oh, if you want to see a screenshot of jEdit: http://budts.be/weblog/item/332 (last 2 shots)

Avatar

jsurfer

July 21st, 2004 at 11pm

The PHPeclipse Eclipse plugin contains an internal PHP parser, which should show much PHP parse errors.
But it’s not perfect at the moment.

Avatar

sidu

August 11th, 2004 at 11pm

Just testing please dont mind it…. :)

Avatar

sidu

August 11th, 2004 at 11pm

Just testing please dont mind it…. :)

Avatar

TeRanEX

August 13th, 2004 at 10am

Just to let you know:
I installed jEdit 4.2 and the PHP Parser Plugin and it really works nice. Every time you open or save a php file it is being parsed and all errors are nicely shown in an errorlist.

Avatar

Meitar

October 7th, 2004 at 10pm

:) I’ve never seen that error myself, but it’s not at all cryptic for me: I speak Hebrew.

Avatar

Coca IQ Bogdan

January 5th, 2005 at 1pm

Yes, and something much more funny about this error, did anybody tried to set : error_reporting(0);
Because if you will do it so … you will still see the error!!! WOW!

Avatar

Cheah Chu Yeow

January 5th, 2005 at 8pm

Um, I think that is because it is a fatal parse error. To stop displaying all errors, set the display_errors configuration setting in your php.ini to ‘off’ instead.

Avatar

Jeff

August 2nd, 2005 at 2pm

$php -l myfile.php

Will do a parser check on your file.