Bagi para programmer PHP, tentunya pernah menulis beberapa class2 dan berkutat dengan object2. Jujur, dengan perkembangan PHP sekarang, saya benar2 merasa PHP mengalami penurunan kualitas bahasa. Terutama di fitur-fitur bahasa untuk object oriented programmingnya. Seperti kehilangan identitas.

Gimana ngga, dibawah adalah snippet source PHP4 dalam meng-konstruksi sebuah class

class Cart {
  var $items;
  function add_item($artnr, $num) {
    $this->items[$artnr] += $num;
  }
  function remove_item($artnr, $num) {
    if ($this->items[$artnr] > $num) {
      $this->items[$artnr] -= $num;
      return true;
    } elseif ($this->items[$artnr] == $num) {
      unset($this->items[$artnr]);
      return true;
    } else {
      return false;
    }
  }
}

Sekarang, ini adalah sebuah class di PHP5

class MyClass
{
  // Declare a public constructor
  public function __construct() { }

  // Declare a public method
  public function MyPublic() { }

  // Declare a protected method
  protected function MyProtected() { }

  // Declare a private method
  private function MyPrivate() { }

  // This is public
  function Foo()
  {
    $this->MyPublic();
    $this->MyProtected();
    $this->MyPrivate();
  }
}

What? ada public, protected, private, belum lagi ada static, __construct, dan __destruct. Apa ini? PHP atau Java, mo nyekrip aja dipersusah dengan ngurusin public,private,protected. Mungkin dengan tambahan banyak keyword, PHP akan menjadi lebih "Enterprise" tapi, kesederhanaan bahasa pemrograman yg dikorbankan. Sayang banget deh:(