PHP jauh lebih baik dari yang kamu fikirkan


Fabien Potencier

July 04, 2012

Diterjemahkan dari : link sumber

Kata-kata ejekan tentang PHP dibicarakan dimanapun, bahkan mereka yang mengatakan  ini adalah orang orang yang pandai, ketika  Jeff Atwood menulis ejekan  tentang PHP membuat saya berfikir untuk menulis hal-hal baik mengenai PHP.

Masalah terbesar dari ejekan tersebut  berawal dari mereka yang stuck dengan teknologi lama PHP dan mereka menutup mata dan tidak mau mengakui bahwa kini PHP telah menjadi jauh lebih baik, jauh lebih baik dari level bahasa dan juga komunitas, faktanya PHP kini berkembang jauh lebih pesat dari bahasa pemrograman / platform web lainnya, ini tidak selalu terjadi tapi 5 tahun terakhir menjadi perjalanan luar biasa bagi PHP.

Sebelum berbicara tentang hal-hal luar biasa yang telah diraih oleh Komunitas PHP baru-baru ini, mari kita lihat angka-angka menarik ini, PHP digunakan oleh 77.9% dari seluruh website yang mana menggunakan pemrograman server. WordPress digunakan oleh 16.6% dari seluruh website di dunia. jika kamu lihat tiga CMS yang sekarang sedang top, website-website yang termonitor menggunakan CMS : WordPress yang pertama dengan 54.3%, Joomla kedua dengan 9.2, Drupal ketiga dengan 6.8%. Ketiga product tersebut ditulis menggunakan PHP.

PHP seharusnya sudah melakukan hal yang benar bukan, tidak ?

Sekarang biarkan saya memberitahu kamu sebuah rahasia tentang PHP “tour de force”: meskipun perubahan bertahun-tahun, PHP masih saja bahasa termudah untuk dipelajari oleh orang-orang yang non technical: ini membuat semua orang dapat membuat web dinamis lebih cepat dari pada teknologi-teknologi lainnya, ini membuat semua orang untuk meng-host website dengan mudah dan murah tanpa kerepotan yang berarti. PHP mungkin bukan bahasa terbaik yang pernah didesain di dunia ini, tapi ini jelas-jelas membuat pekerjaan selesai, dan kamu tidak bisa berargument tentang ini.

PHP, bahasa pemrograman

PHP 5.0 (yang dirilis pada  2004) memberikan kita objek model yang sangat solid… tunggu sebentar, aku baru saja berbicara tentang sesuatu yang dirilis 8 tahun yg lalu dan sekarang PHP 5.4 telah hadir dengan  berbagai macam hal yang mungkin sebelumnya hanya kamu mimpikan dalam pengembangan bahasa pemrograman web modern: ya, PHP mendukung namespaces; ya, PHP mendukung closures; ya, PHP mendukung traits.
Ini memang membutuhkan waktu bagi PHP untuk hadir dengan sintak yang lebih manis/cantik yang membuat pengembangan web menjadi lebih baik dari sebelumnya: ya, PHP mendukung [] untuk membentuk array; ya, PHP mendukung pemangilan methon pada object yg baru dibuat ((new Foo())->bar()); ya, PHP mendukung pemangilan item dalam array dari sebuah ekpresi ($foo->bar()[1]).

PHP telah belajar dari kesalahan-kesalahannya sendiri: register_globals dan   magic_quotes yang sudah benar-benar ditinggalkan.

Terakhir, tapi bukan akhir, PHP bahkan hadir dengan web server yg terintegrasi yang mempermudah pengetesan dikomputer local dan memulainya dengan cepat.

Tantangan berikutnya: bagaimana kita “Upgrade” semua tutorial lama yang berbicara tentang PHP di web ? Apakah cara terbaik untuk mendukung teknologi WebSocket pada aplikasi PHP ?

PHP, Ekosistem

Memiliki bahasa pemrograman yang bagus adalah keren, tetapi ekosistem yang keren tentunya lebih baik. Dan ekosistem milik PHP telah berevolusi sangat banyak beberapa tahun terakhir.

Git

Saya tidak akan bicara banyak tentang satu ini. Git digunakan dimana-mana dan PHP menggunakan git sejak awal. hampir semua library PHP, Framework, dan produk-produk kini menggunakan Git, termasuk PHP itu sendiri.

Composer

Dua tahun yang lalu saat itu saya ingin membersihkan PEAR-hack jelek yang saya miliki dalam Symfony 1 untuk medukung plugin-plugin. Saya ingin menggantinya dengan sesuatu yang dapat mengelola dependencies pada project php saya, bukan global installer seperti PEAR. Mengelola dependencies bukanlah hal yang mudah, maka saya mencoba untuk mencari algoritma terbaik untu mengelola dependencies pada perangkat lunak; saya mencoba mencari kemana-mana: dari Perl ke Ruby, dari Debian ke Redhat. dan tidak ada yang memuaskan: hanya solusi sendiri yang digunakan untuk bekerja…secara empiris. lalu saya menemukan ZYpp. Ini dia, ZYpp digunakan oleh SAT solver untuk mengelola dependencies. melaju kedepan. Terima kasih atas kerja keras Nils Adermann dan Jordi Boggiano, sekarang PHP memiliki dependencies manager yang terbaik untuk mengelola dependencies, Composer.

Ya, PHP memiliki dependency manager yang lebih baik dibanding bahasa pemrograman lainnya.

Dan terima kasih pada Git, Composer, dan PHP built-in web server, yang membuat semuanya menjadi lebih mudah untuk download/install/test a PHP project.

Mau coba Symfony (menggunakan PHP 5.4)?

$ composer.phar create-project symfony/framework-standard-edition
$ cd framework-standard-edition
$ ./app/console server:run

Atau mau coba Silex ?

$ composer.phar create-project fabpot/silex-skeleton
$ cd silex-skeleton
$ php -S localhost:8888 -t web/

Belum tau tetang Composer? kamu harus belajar tentang ini, buka  Packagist, repositori utama Composer, disana sudah ada sekitar 1900+ packages yang sudah digunakan jutaan kali dalam kurang dari 3 bulan.

Tantangan selanjutnya: menyertakan installer Composer pada PHP versi berikutnya ?

Kolaborasi

Kolaborasi antar komunitas adalah poin penting pada post ini; suatu hal yang membanggakan. kita memulai untuk melihat kolaborasi yang lebih baik antara project-project PHP, bahkan dari yang paling besar, salah satu yang kamu kira terlalu besar untuk peduli tentang yang lain.

phpBB, Drupal, eZ Publish, Symfony, and many others (phpDocumentor, PHPUnit, Behat, Zikula, Propel, Doctrine, Midgard, …) mereka berbagi code. Ya, mereka “kompetitor” tapi mereka semua mengatahui bahwa cross-pollination (penyerbukan silang) adalah hal yang baik. dan Composer adalah alat yang tepat.

Tantangan selanjutnya: Meyakinkan lebih banyak project untuk mengikuti trend.

Kesimpulan

Biarkan saya berucap lagi: PHP mungkin bukan bahasa pemrograman terbaik, saya yang akan pertama meneriakan ini, Tapi PHP adalah web platform terbaik… ever.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s