php-logoDengan adopsi PHP yang luar biasa, kita bisa dengan mudah mendapati script atau snippet bertebaran di beberapa situs penampil source code gan. Akan tetapi, bertebarannya script atau snippet itu tidak dilengkapi filter mana yang sudah jadi best practice mana yang belum. Iya, suka tidak suka, banyak juga source code yang asal ditulis.

Berikut adalah 5 Petuah Dari Jago-jago PHP yang harus kamu tahu:

1. Rasmus Lerdorf (Pembuat PHP): Gunakan PHP jika Memang Dibutuhkan

Rasmus Lerdorf adalah orang yang membuat PHP pertama kali tahun 1995. Menurutnya, PHP memang dibuat untuk mengatasi beberapa masalah-masalah web development. Akan tetapi, kita tidak bisa menggunakan PHP untuk keperluan apa saja. Om Lerdorf sendiri membatasi bahwa PHP hanyalah sebagai tool yang ada dalam toolbox kita, PHP masih punya banyak keterbatasan.

Use the right tool for the job. I have run across companies that have completely bought into PHP, deploying it absolutely everywhere, but it was never meant to be a general-purpose language appropriate for every problem. It is most at home as the front-end scripting language for the Web. — Rasmus Lerdorf, Creator of PHP

Menggunakan solusi PHP untuk kebutuhan apapun memang tidak efisien. PHP bukan bahasa pemrograman yang serba bisa sehingga cocok digunakan untuk keperluan apapun.

2. Matt Mullenweg (Pembuat WordPress): Gunakan Banyak Tabel untuk Skalabilitas PHP-MySQL Yang Lebih Baik

Matt Mullenweg adalah orang dibalik pengembangan WordPress, sebuah CMS berbasis PHP yang saat ini paling populer di dunia. Setelah sukses membuat WordPress, diapun membuat WordPress.com. Layanan free-blogging yang kini sudah digunakan jutaan orang.

WordPress.com dibangun dari solusi simple, WordPress MU (MultiUser). WordPress MU tidak dibangun diatas platform yang monolitik dimana semua konten menyatu dalam satu tabel. Om Mullenweg sendiri pada tahun 2006 pernah menjelaskan kenapa pada akhirnya WordPress MU menggunakan struktur database yang non-monolitik untuk platform bloggingnya.

We tested this approach for MU, but found it was too expensive to scale past a certain point. With monolithic structures you hit a wall based on your hardware. In MU users are divided and can be partitioned easily, for example on WordPress.com we have the users partitioned between 4096 databases, which allows you to scale very cheaply and efficiently to hundreds of thousands and even millions of users and extremely high levels of traffic. — Matt Mullenweg, Creator of WordPress

Kemampuan memindah tabel dengan cepat membuat code kita lebih responsif dan lebih mudah diperbesar skalanya. Setiap blog dari WordPress MU disimpan dalam tabel-tabel yang terpisah dari user lain, dengan demikian mereka akan mudah dikelola misalnya untuk di sharding atau di partition MySQLnya.

3. Dave Child – Jangan Pernah Percaya Sekalipun terhadap User

Dave Child adalah legenda penulis tutorial PHP. Dia terkenal karena membuat banyak sekali cheat-sheets bahasa pemrograman. Ada satu petuah penting dari om Dave Child yang bisa kita petik yaitu: Jangan Pernah Percaya Sekalipun terhadap User.

So the cardinal rule of all web development, and I can’t stress it enough, is: Never, Ever, Trust Your Users. Assume every single piece of data your site collects from a user contains malicious code. Always. That includes data you think you have checked with client-side validation, for example using JavaScript. If you can manage that, you’ll be off to a good start. If PHP security is important to you, this single point is the most important to learn — Dave Child, creator of Added Bytes.

Asumsikan semua data yang kita koleksi dari user memiliki sebuah code yang berbahaya. Karena itulah semua data harus dicek dan divalidasi, termasuk data-data yang sudah divalidasi dari sisi client via Javascript.

4. Ben Balbo (Penulis di SitePoint.com) – Bercita-citalah Menggunakan Cache

ben Balbo adalah salah satu penulis terbaik di SitePoint.com yang menulis banyak tutorial-tutorial keren dan berkualitas baik untuk developer dan desainer. Aktivis PHP User Group wilayah Melbourne, Australia ini pernah mengatakan bahwa: Bercita-citalah untuk menggunakan Cache khususnya jika memiliki situs/blog yang ramai.

If you have a busy and predominantly static web site–such as a blog–that’s managed through a content management system, it will likely require little alteration, yet may benefit from huge performance improvements resulting from a small investment of your time. Setting up caching for a more complex site that generates content on a per-user basis, such as a portal or shopping cart system, will prove a little more tricky and time consuming, but the benefits are still clear — Ben Balbo

Cache akan membantu PHP untuk lebih ringan bekerja karena membuat data-data yang relatif tidak berubah disimpan dalam satu metode dan dapat dibaca berulang-ulang oleh user.

5. Josh Sharp: Gunakan Framework PHP!

Memang sampai sekarang ada debat berkelanjutan mana sih framework PHP terbaik, apakah Zend, CakePHP, CodeIgniter, Yii, Symphony atau Laravel dan lainnya. Yang jelas, om Josh Sharp berpesan: Gunakan Framework PHP!

But PHP’s ease of use is also its downfall. Because there are less restrictions on the structure of the code you write, it’s much easier to write bad code. But there is a solution: use a framework — Josh Sharp

Kenapa harus menggunakan framework? karena saking mudahnya PHP, semakin mudah pula kita membuat code yang jelek dan membahayakan. Dengan framework, program kita bisa terstandard dan bisa menghemat waktu development.

Itulah 5 petuah dari para jago PHP yang patut kita tahu.