You are referring to an article that say's
In the Java programming language, the constant interface pattern
describes the use of an interface solely to define constants, and
having classes implement that interface in order to achieve convenient
syntactic access to those constants. However, since constants are very
often merely an implementation detail, and the interfaces implemented
by a class are part of its exported API, this practice amounts to
putting implementations details into the API, which is considered
inappropriate. In general, collecting system constants into
classes independent of behaviour, might create a poor object-oriented
design, because it is often a sign of low cohesion. It is for these
reasons that implementing constants interfaces is considered to be an
anti-pattern.
I come from Java, and I am doing PHP right now ...
From my point of view, as long as you use interface constants which are of internal system nature, you are fine... once you start exposing your interface constants as part of your external API, you shoud do that using classes not interfaces.
Another thing to consider is serialization, and deployment packages. If you need constants as part of the deployment package to enable an error free de-serialization remember: You can add implementation details into classes, but not into interfaces.
Sadly PHP only knows public,protected and private to control the namespace, and to control the scope of constants. In Java you have package-private on top, which basically says "in the same directory"/"java package de.*".
Remember this when comparing Java to other languages and make conclusions regarding ant-patterns which refer to OODesign in general and across languages. It may lead to wrong conclusions ;-) ...
I don't say the wikipedia article is wrong... but it is not 100% correct either.
Just my 2 €cent