Q:

Static classes in PHP

Instead of declaring each function as "static" in a class, is there any way that I can make a class itself "static"?

A:

Not in PHP - you must mark every member as static that you wish to be static.  For for information please see the PHP manual.

A:

There is nothing comparable to the (for ex.) Java static classes way. If you just want to collect function in a kind of library, you can set the __construct() and the __clone() methods to private. This will prevent the creation of instances. 

A:

I'd say the best way to go is to prevent object instantiation through a private constructor and explicitly marking all methods as static. Although you have to be careful to mark all methods as static (which is the result of static classes not existing in PHP), the benefit of this method over the Singleton approach is that static methods are more efficient than their non-static counterparts. You probably also want your class marked as final, as most static classes are not designed to be extended anyway (and it is good practice to do so).
An example would be something like this:
final class PseudoStatic {

  /**
   * Prevent object instantiation
   */
  private function __construct() {}

  static public function method1() {
    ...
  }

  static public function method2() {
    ...
  }

  ...
}

Furthermore, the Singleton pattern is now considered a bad practice by some.

