Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

10 Prinsip Master PHP

by
Difficulty:IntermediateLength:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Andy Nur (you can also view the original English article)

Dengan adopsi PHP yang meluas, hampir terlalu mudah untuk menemukan skrip atau snippet untuk melakukan persis seperti apa yang kamu butuhkan. Sayangnya, tidak ada filter untuk apa yang merupakan "praktik yang baik" dan apa, yah ... tidak begitu bagus saat menulis skrip PHP. Kita membutuhkan sumber yang dapat dipercaya, yang telah membuktikan bahwa mereka memiliki pemahaman yang kuat tentang praktik terbaik PHP.

Kita membutuhkan master PHP untuk menunjukkan kepada kita prinsip-prinsip terbaik yang harus diikuti untuk pemrograman PHP tingkat tinggi.


1. Gunakan PHP Hanya Saat Kamu Membutuhkannya - Rasmus Lerdorf

Tidak ada sumber daya yang lebih baik dari pencipta PHP untuk mengetahui apa yang PHP mampu. Rasmus Lerdorf menciptakan PHP pada tahun 1995, dan sejak saat itu bahasa itu telah menyebar seperti api melalui komunitas pengembang, mengubah wajah dari Internet. Namun, Rasmus tidak membuat PHP dengan maksud itu. PHP diciptakan dari kebutuhan untuk memecahkan masalah pengembangan web.

Dan seperti kebanyakan proyek open source yang menjadi populer, motivasinya itu tidak pernah filosofis atau bahkan narsistik. Hal ini murni suatu kasus yang membutuhkan tool untuk memecahkan masalah yang berhubungan dengan yang ada di dunia nyata. Pada tahun 1994, opsi cukup terbatas ketika datang ke tool pengembangan Web.

Namun, kamu tidak dapat menggunakan PHP untuk seluruhnya. Lerdorf adalah yang pertama mengakui bahwa PHP benar-benar hanya alat di kotak peralatanmu, dan bahkan PHP memiliki keterbatasan.

Gunakan alat yang tepat untuk pekerjaan itu. Saya telah menjalankan perusahaan yang benar-benar membeli PHP, menerapkannya di mana-mana, tetapi tidak pernah dimaksudkan untuk menjadi bahasa tujuan umum yang sesuai untuk setiap masalah. Yang paling banyak di rumah sebagai bahasa scripting front-end untuk Web.

Mencoba menggunakan PHP untuk semuanya termasuk tidak efisien, dan tentu saja bukan penggunaan terbaik untuk waktumu sebagai pengembang web. Jangan takut untuk menggunakan bahasa lain jika PHP tidak bekerja untuk proyekmu.


2. Menggunakan Banyak Tabel Dengan PHP dan MYSQL untuk Skalabilitas - Matt Mullenweg

Tidak ada yang perlu mempertanyakan otoritas Matt Mullenweg dengan PHP. Dia telah, (bersama komunitas fanatik), mengembangkan sistem blogging paling populer di planet ini: Wordpress. Setelah membuat Wordpress, Matt dan perusahaan meluncurkan sang bintang Wordpress.com, situs blog gratis berbasis pada perangkat lunak blogging basis kode Wordpress MU untuk banyak blog. Pada saat penulisan ini, Wordpress.com menginangi lebih dari 4 juta blog, dan penggunanya telah menulis lebih dari 140.000 entri hari ini. (kamu dapat melihat statistik yang lebih menarik tentang penggunaan Wordpress.com di sini.)

Jika ada yang tahu cara mengukur situs web, itu adalah Matt Mullenweg. Pada tahun 2006 Matt memberikan beberapa wawasan tentang struktur database Wordpress dan menjelaskan mengapa Wordpress MU menggunakan tabel MySQL terpisah untuk setiap blog, dibandingkan dengan menggunakan satu "monolitik" tabel raksasa untuk semua blog.

Kami menguji pendekatan ini untuk MU, tetapi ternyata terlalu mahal untuk melewati titik tertentu. Dengan struktur monolitik, kamu memukul dinding berdasarkan perangkat kerasmu. Di pengguna MU terbagi dan dapat dipartisi dengan mudah, misalnya di WordPress.com kami memiliki pengguna yang dipartisi antara 4096 basis data, yang memungkinkanmu menskalakan dengan sangat murah dan efisien hingga ratusan ribu bahkan jutaan pengguna dan tingkat lalu lintas yang sangat tinggi.

Mampu bermigrasi tabel memungkinkan kode dan akhirnya blog untuk berjalan lebih cepat dan skala lebih mudah. Bersamaan dengan beberapa caching yang berat, dan penggunaan database yang cerdas, Matt telah menunjukkan bahwa situs yang sangat populer seperti Facebook dan Wordpress.com dapat menjalankan PHP dan menangani beban lalu lintas yang luar biasa.


3. Jangan pernah percaya pada pengguna Anda - Dave Child

Dave Child adalah gagasan (teehee) di belakang situs yang baru-baru ini berganti nama menjadi Added Bytes (sebelumnya ilovejackdaniels.com) yang menampilkan cheat sheet Dave yang sangat baik untuk banyak bahasa pemrograman. Dave bekerja untuk banyak perusahaan pengembangan di Inggris dan telah memantapkan dirinya sebagai otoritas di dunia pemrograman.

Dave menawarkan beberapa nasihat bijak ketika datang untuk menulis kode yang aman di PHP: Jangan percaya penggunamu. Mereka hanya mungkin menyakitimu.

Jadi aturan utama dari semua pengembangan web, dan saya tidak bisa cukup menekankannya, adalah: Jangan Pernah Mempercayai Penggunamu. Asumsikan setiap bagian data yang dikumpulkan situsmu dari seorang pengguna mengandung kode yang berbahaya. Selalu. Itu termasuk data yang kamu pikir telah kamu periksa dengan validasi sisi klien, misalnya menggunakan JavaScript. Jika kamu bisa mengaturnya, kamu akan memulai awal yang baik. Jika keamanan PHP penting bagimu, titik tunggal ini adalah yang paling penting untuk dipelajari.

Dave melanjutkan untuk memberikan contoh spesifik praktik aman di bagian satu, dua dan tiga dari seri "Menulis PHP yang Aman". Tapi takeaway utamanya adalah ini:

Akhirnya, jadilah benar-benar dan sebenar-benarnya paranoid.
Jika kamu menganggap situsmu tidak akan pernah diserang, atau menghadapi masalah apa pun, maka ketika sesuatu pada akhirnya salah, kamu akan berada dalam masalah besar. Jika, di sisi lain, kamu menganggap setiap pengunjung situsmu keluar untuk mendapatkanmu dan kamu secara permanen dalam perlawanan, kamu akan membantu dirimu sendiri untuk menjaga keamanan situsmu, dan bersiap-siap jika ada hal-hal yang salah.


4. Investasikan PHP Caching - Ben Balbo

Ben Balbo telah menulis untuk Site Point, situs tutorial yang sangat dihargai oleh para pengembang dan desainer. Dia berada di komite untuk Kelompok Pengguna PHP Melbourne dan Open Source Developers' Club, jadi dia tahu satu atau dua hal tentang bahasa tersebut. Tidaklah mengherankan dengan latar belakang Ben sebagai pengembang dan pelatih PHP yang ia rekomendasikan untuk menempatkan sedikit pemikiran dan persiapan ke dalam PHP caching.

Jika kamu memiliki situs web yang sibuk dan didominasi oleh statis - seperti blog - yang dikelola melalui sistem pengelolaan konten, kemungkinan akan membutuhkan sedikit perubahan, namun dapat memperoleh manfaat dari peningkatan kinerja yang luar biasa yang dihasilkan dari investasi kecil waktumu. Menyiapkan cache untuk situs yang lebih kompleks yang menghasilkan konten berdasarkan per pengguna, seperti portal atau sistem keranjang belanja, akan terbukti sedikit lebih rumit dan memakan waktu, tetapi manfaatnya lebih jelas.

Ada banyak teknik berbeda untuk caching di PHP, dan Ben menyentuh beberapa yang lebih besar di artikelnya, seperti:

  • fungsi pemanggilan yang di cache
  • mengatur header yang kedaluwarsa
  • meng-cache unduhan file di IE
  • template caching
  • Cache_Lite

dan banyak lagi. Karena sifat bahasa yang dinamis seperti PHP, cache sangat penting untuk menyimpan bagian-bagian halaman yang sering diakses dan tidak sering berubah.


5. Mempercepat Pengembangan PHP dengan IDE, Template, dan Cuplikan - Chad Kieffer

Ketika Chad Kieffer tidak sibuk mengguncang antarmuka pengguna dan mengelola basis data, dia memberikan saran keahlian dari blognya 2 tablespoons. Karena bidang keahlian Chad yang luas, ia sering dapat melihat gambaran besar bahwa programmer lain mungkin tidak, khususnya ketika menyangkut pendekatan holistik yang dilakukan Chad untuk mengembangkan sebuah situs web. Dia mengkhususkan diri dalam semua aspek proses pengembangan, sehingga setiap wawasan yang dapat dia berikan dengan menyusun keseluruhan proyek akan bermanfaat.

Chad percaya bahwa menggunakan IDE seperti Eclipse PDT (paket pengembangan PHP Eclipse) dengan campuran template dan cuplikan dapat benar-benar mempercepat waktu penyelesaian proyek.

Jadwal sibuk, daftar pekerjaan yang panjang, dan tenggat waktu mempersulit para pengembang untuk terbiasa dengan beberapa fitur canggih yang disediakan oleh toolnya. Hal ini memalukan, karena beberapa fitur, seperti Eclipse Templates, benar-benar dapat mengurangi waktu pengkodean dan kesalahan.

Akal sehat mengatakan bahwa setiap kali kamu dapat mengotomatiskan tugas, semakin cepat kamu akan menyelesaikan proyek. Hal yang sama berlaku dengan teori Dan. Dengan meluangkan waktu untuk membuat template yang akan kamu gunakan berulang kali, kamu akan menghemat banyak waktu mengotomatiskan bagian pengulangan yang berulang.

Dengan menggunakan IDE seperti Eclipse dan paket PDT, kamu akan menemukan bahwa waktu pengembanganmu akan meningkat secara bertahap. IDE akan otomatis menutup kurung, menambahkan titik koma yang hilang dan bahkan memungkinkanmu untuk men-debug di dalam editor, tanpa harus mengunggahnya ke server.
(Chad memiliki tutorial yang bagus untuk memulai dengan Eclipse PDT dan manfaat IDE secara umum, jika kamu tertarik.)


6. Memanfaatkan Penggunaan Fungsi Filter PHP Dengan Lebih Baik - Joey Sochacki

Sementara Joey Sochacki mungkin tidak sebesar nama Matt Mullenweg di komunitas PHP, dia adalah pengembang web yang berpengalaman dan berbagi tips yang dia ambil di sepanjang jalan di blognya Devolio.

Joey telah menemukan bahwa meskipun ada banyak penyaringan yang harus terjadi ketika menulis kode PHP, tidak banyak programmer yang menggunakan fungsi filter PHP.

Memfilter data. Kita semua harus melakukannya. Sebagian besar, jika tidak semua dari kita, orang renda yang akan melakukannya. Namun, tanpa diketahui sebagian besar adalah fungsi filter_ * PHP, yang memungkinkan kita melakukan semua jenis pemfilteran dan validasi. Dengan menggunakan fungsi filter_file PHP, kita dapat memvalidasi dan membersihkan tipe data, URL, alamat e-mail, alamat IP, menggaris karakter yang buruk, dan banyak lagi, semuanya dengan relatif mudah.

Pemfilteran bisa menjadi rumit, tetapi panduan ini dapat sangat membantu. Dengan bantuan Joey kamu akan belajar cara memasang filter dan menyaring hampir apa saja, memanfaatkan kekuatan pemfilteran PHP.


7. Menggunakan Framework PHP - Josh Sharp

Selalu ada perdebatan apakah menggunakan framework PHP seperti Zend, CakePHP, Code Igniter, atau framework lainnya. Ada sisi lebih dan kurangnya untuk menggunakan salah satu, dan banyak pengembang memiliki pendapatnya sendiri tentang apakah atau tidak untuk menuruni jalan ini.

Josh Sharp adalah pengembang web yang membuat roti dan mentega menciptakan situs web untuk klien. Inilah sebabnya mengapa kamu harus mempercayainya ketika ia mengatakan itu ide yang baik agar menggunakan framework PHP untuk menghemat waktu dan menghilangkan kesalahan saat pemrograman. Kenapa? Josh percaya hal itu karena PHP terlalu mudah untuk dipelajari.

Tetapi kemudahan penggunaan PHP juga merupakan kehancurannya. Karena ada sedikit pembatasan pada struktur kode yang kamu tulis, akan jauh lebih mudah untuk menulis kode yang buruk. Tetapi ada solusinya: gunakan framework.

Framework PHP membantu menstandardisasi caramu memprogram, dan dapat menghemat banyak waktu dalam proses pengembangan. Kamu dapat membaca lebih lanjut tentang manfaat menggunakan framework PHP di blog Josh.


8. Jangan Menggunakan Framework PHP - Rasmus Lerdorf

Bertentangan dengan keyakinan Josh bahwa seseorang seharusnya menggunakan framework PHP, Rasmus Lerdorf, Godfather PHP sendiri, percaya bahwa framework itu tidak terlalu bagus. Mengapa? Karena mereka melakukan hal yang jauh lebih lambat dari PHP yang sederhana.

Selama presentasi Rasmus di Drupalcon 2008, Rasmus membandingkan waktu respons ke halaman PHP dengan contoh sederhana "Hello World", dan membandingkannya dengan framework PHP (slide 24-32), dan menunjukkan bahwa framework PHP jauh lebih lambat daripada PHP langsung.

Kamu dapat mendengarkan atau menonton seluruh presentasi di mana Rasmus menunjukkan kerugian kinerja dengan framework PHP. Singkatnya, Rasmus menunjukkan bahwa performanya menerima pukulan besar ketika kamu menggunakan framework PHP dibandingkan dengan menggunakan PHP murni.

[Catatan: Jika kamu harus menggunakan framework PHP, Rasmus menyukai Code Igniter yang terbaik, karena "yang paling sedikit seperti framework"]


9. Menggunakan Batch Processing - Jack D. Herrington

Jack Herrington tidak asing dengan PHP dan dunia pengembangan. Selain menulis lebih dari 30 artikel untuk IBM developerWorks yang bergengsi, Jack juga menerbitkan buku-buku pemrograman seperti PHP Hacks. Jack adalah seorang ahli yang tulen.

Herrington merekomendasikan menggunakan sekumpulan pemrosesan dan cron untuk menangani tugas-tugas yang dapat diproses di latar belakang. Pengguna web tidak ingin menunggu lama untuk menyelesaikan tugas di web. Ada beberapa pekerjaan yang membutuhkan waktu lebih lama yang lebih cocok untuk dilakukan di latar belakang.

Tentu saja, dalam beberapa kasus kecil, itu sedikit lebih mudah untuk menembakkan thread helper untuk menangani pekerjaan kecil. Tetapi mudah untuk melihat bahwa dengan menggunakan tool yang konvensional -- cron, MySQL, PHP berorientasi objek standar, dan Pear::DB -- membuat sekumpulan pekerjaan dalam aplikasi PHP yang mudah untuk dilakukan, mudah diterapkan, dan mudah diurus.

Jack percaya pada kesederhanaan, dan daripada menggunakan threading pada server, ia menggunakan kombinasi sederhana dari cron, PHP dan MySQL untuk memproses tugas di latar belakang.

Saya telah melakukan keduanya, dan saya pikir cron memiliki keuntungan dari prinsip "Keep It Simple, Stupid" (KISS). Hal itu membuat pemrosesan latar belakang menjadi sederhana. Daripada memiliki aplikasi pemrosesan pekerjaan multithread yang berjalan selamanya dan, dengan demikian, tidak pernah bisa membocorkan memori, kamu memiliki sekumpulan script sederhana yang dimulai oleh cron. Script menentukan apakah ada yang harus dilakukan, apakah itu, lalu keluar. Tidak perlu khawatir tentang kebocoran memori. Tidak perlu khawatir tentang thread yang macet atau tertangkap dalam perulangan yang tak terbatas.


10. Aktifkan Pelaporan Error Dengan Segera - David Cummings

David Cummings menjalankan perusahaan software-nya sendiri yang berspesialisasi dalam sistem manajemen konten, dan telah memenangkan beberapa penghargaan. Jika ada yang tahu cara mengembangkan aplikasi PHP secara efisien, itu adalah Dave.

David menulis di sebuah artikel di SitePoint tentang dua tips PHP yang dia harap dia pelajari dari awal. Salah satu kiatnya: Aktifkan pelaporan error dengan segera. Ini akan menghemat banyak waktu dalam jangka panjang.

Satu hal paling penting yang saya sampaikan kepada orang-orang yang menggunakan PHP adalah untuk mengubah laporan error ke tingkat maksimumnya. Mengapa saya ingin melakukan ini? Umumnya pelaporan kesalahan diatur pada tingkat yang akan menyembunyikan banyak hal kecil seperti:

  • mendeklarasikan variabel sebelumnya,
  • mereferensikan variabel yang tidak tersedia di segmen kode itu, atau
  • menggunakan pendefinisian yang tidak diatur.
  • Faktor-faktor ini mungkin tidak tampak seperti masalah yang besar -- sampai kamu mengembangkan program yang terstruktur atau berorientasi objek dengan fungsi dan class. Seringkali, menulis kode tanpa pelaporan error yang muncul tinggi akan menghabiskan waktu yang berjam-jam saat kamu menjelajahi fungsi panjang yang tidak berfungsi karena ada variabel yang salah eja atau tidak dapat diakses.

Pelaporan error dapat membuat mencari alasan untuk kesalahan jauh lebih mudah. Bug kecil dalam kode dapat dengan cepat diidentifikasi jika pelaporan error PHP dinyalakan tinggi. Menghemat waktu dan tarikan rambutmu dengan membiarkan PHP menemukan bug untukmu.

Baca postingan sebelumnya dalam seri ini: 10 Prinsip Master CSS.

  • Berlangganan ke RSS Feed NETTUTS untuk lebih banyak tutorial dan artikel pengembangan web harian.

Glen Stansberry adalah pengembang web dan blogger yang berjuang lebih dari yang ingin dia akui dengan CSS. Kamu dapat membaca lebih banyak kiat tentang pengembangan web di blognya Web Jackalope.


Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.