1. Code
  2. Coding Fundamentals

30+ Praktek PHP Terbaik untuk Pemula

Scroll to top

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

PHP adalah bahasa yang paling banyak digunakan untuk pemrograman di web. Berikut adalah tiga puluh praktek-praktek terbaik untuk pemula yang ingin memperoleh pemahaman yang lebih kuat dari dasar-dasarnya.

Catatan Editor: Seri "Praktek Terbaik" telah menjadi bayi saya untuk tiga artikel saat ini. Namun, karena fokus saya pada seri video CI, saya telah memutuskan untuk menyerahkan berikutnya ini ke Glen. Karena itu, saya sangat tidak baik dalam menutup mulut! Saya pikir mungkin menyenangkan untuk secara sporadis menambahkan beberapa perwakilan dari tips-nya. Saya berharap dia tidak keberatan!

1. Berteman Manual PHP

Jika Anda baru di PHP, maka saatnya untuk berkenalan dengan kedahsyatan manual PHP. Manual PHP sangat teliti dan memiliki komentar yang benar-benar membantu yang mengikuti setiap artikel. Sebelum mengajukan pertanyaan atau mencoba mencari jalan keluar dari masalah pada Anda sendiri, hemat waktu Anda dan langsung ke manual. Peluangnya adalah jawaban untuk pertanyaan Anda sudah terletak dalam sebuah artikel yang berguna di situs PHP.net.

2. Aktifkan Pelaporan Kesalahan

Kesalahan pelaporan di PHP ini sangat membantu. Anda akan menemukan bug di kode Anda yang sebelumnya Anda mungkin tidak melihatnya, karena tidak semua bug tetap membuat aplikasi bekerja. Ada berbagai tingkat keketatan dalam pelaporan yang dapat Anda gunakan, tapi E_ALL akan menunjukkan kepada Anda sebagian besar kesalahan, kritikal dan peringatan yang sama.

Setelah Anda mendapatkan aplikasi Anda siap untuk produksi, Anda akan ingin untuk mematikan pelaporan kesalahan, atau pengunjung Anda akan melihat kesalahan aneh yang mereka tidak mengerti.

3. Cobalah sebuah IDE

IDE (Integrated Development Environment) adalah alat yang berguna untuk setiap pengembang. Sementara mereka tidak untuk semua orang, IDE pasti memiliki tempatnya. IDE menyediakan alat-alat seperti

  • penyorotan sintaks
  • penyempurnaan kode
  • peringatan kesalahan
  • refactoring (pengerjaan ulang)

Dan banyak fitur lainnya. Ada banyak IDE besar di luar sana yang mendukung PHP.

Try an IDETry an IDETry an IDE

4. Mencoba sebuah Kerangka PHP

Anda dapat belajar banyak tentang PHP hanya dengan bereksperimen dengan kerangka PHP. Kerangka seperti CakePHP atau CodeIgniter memungkinkan Anda untuk menciptakan aplikasi PHP dengan cepat, tanpa perlu menjadi seorang ahli dengan PHP. Dalam artian, mereka hampir seperti roda pelatihan PHP yang menunjukkan kepada Anda bagaimana aplikasi PHP harus terlihat, dan menunjukkan kepada Anda konsep-konsep pemrograman yang berharga (seperti memisahkan logika dari desain, dll.).

Bantahan: saya secara pribadi tidak akan merekomendasikan bagi pemula menggunakan kerangka. Pelajari dasar-dasar dulu pertama kali. :)

5. Mempelajari Pendekatan DRY

DRY adalah singkatan dari Don't Repeat Yourself, dan itu adalah konsep pemrograman yang berharga, tidak peduli bahasanya. Pemrograman DRY, seperti namanya, adalah memastikan bahwa Anda tidak menulis kode berlebihan. Berikut adalah contoh dari Reinhold Weber:

Learn the DRY approachLearn the DRY approachLearn the DRY approach

Kode ini...

1
$mysql = mysql_connect('localhost', 'reinhold', 'secret_hash');
2
mysql_select_db('wordpress') or die("cannot select DB");

sekarang dengan pendekatan DRY:

1
$db_host = 'localhost';
2
$db_user = 'reinhold';
3
$db_password = 'secret_hash';
4
$db_database = 'wordpress';
5
 
6
$mysql = mysql_connect($db_host, $db_user, $db_password);
7
mysql_select_db($db_database);

Anda dapat membaca lebih lanjut tentang prinsip pemrograman DRY di sini dan di sini.

6. Indent Kode dan Gunakan Spasi untuk Kemudahan Dibaca

Jika Anda tidak menggunakan indentasi dan spasi dalam kode Anda, hasilnya akan mirip dengan lukisan Jackson Pollack. Pastikan bahwa kode Anda mudah dibaca dan mudah untuk mencari karena Andalah yang pasti akan paling banyak membuat perubahan di masa depan. IDE dan editor teks canggih dapat menambah indentasi secara otomatis.

7. "Tier" kode Anda

Tiering aplikasi Anda adalah tidak lebih dari memisahkan berbagai komponen kode ke dalam bagian yang berbeda. Hal ini memungkinkan Anda untuk dengan mudah mengubah kode Anda di masa depan. Penulis NETTUTS Jason Lengstorf telah menulis artikel yang sangat baik tentang bagaimana menstrukturkan aplikasi PHP Anda untuk pemeliharaan lebih mudah.

8. Selalu Menggunakan <?php ? >

Sering kali programmer mencoba untuk mengambil jalan pintas ketika menyatakan PHP. Berikut adalah beberapa yang umum:

1
2
<?
3
    echo "Hello world";
4
?>
5
6
<?="Hello world"; ?>
7
8
<% echo "Hello world"; %>

Sementara ini menghemat beberapa karakter, semua metode ini disusutkan dan tidak resmi. Tetap dengan standar <?php ?> karena yang seperti itu akan dijamin untuk didukung di semua versi yang akan datang.

9. Gunakan Konvensi Penamaan yang Bermakna, Konsisten

Penamaan ini tidak hanya untuk kebaikan Anda sendiri. Tidak ada yang lebih buruk daripada mencoba untuk menemukan jalan Anda melalui konvensi penamaan yang tidak masuk akal dari beberapa pemrogram lain. Bantu diri sendiri dan orang lain dengan menggunakan nama-nama yang masuk akal untuk kelas dan fungsi.

10. Komentar, Komentar, Komentar

Selain menggunakan spasi dan indentasi untuk memisahkan kode, Anda juga akan ingin untuk menggunakan komentar berjajar untuk membubuhi keterangan dari kode Anda. Anda akan bersyukur nantinya ketika Anda perlu kembali dan menemukan sesuatu dalam kode, atau jika Anda hanya tidak dapat mengingat fungsi tertentu. Hal ini juga berguna untuk orang lain yang perlu memeriksa kode Anda.

11. Menginstal MAMP/WAMP

MySQL adalah tipe dari database yang paling populer untuk digunakan dengan PHP (meskipun itu bukanlah satu-satunya). Jika Anda ingin mengatur lingkungan lokal untuk mengembangkan dan menguji aplikasi PHP Anda pada komputer Anda, lihat ke menginstal MAMP (Mac) atau WAMP (Windows). Menginstal MySQL pada komputer Anda sendiri bisa menjadi proses yang membosankan, dan kedua paket perangkat lunak ini menginstall MySQL cukup mudah. Bersih dan sederhana.

Install MAMP/WAMP

12. Berikan Batasan pada Skrip Anda

Menempatkan batas waktu pada skrip PHP adalah hal yang sangat kritikal. Ada saat-saat ketika skrip akan gagal, dan ketika mereka melakukannya, Anda akan ingin untuk menggunakan fungsi set_time_limit untuk menghindari pengulangan tak terbatas dan timeout koneksi database. set_time_limit menempatkan batas waktu pada jumlah maksimum dalam detik skrip akan berjalan (default adalah 30). Setelah jangka waktu tersebut, kesalahan fatal dilemparkan.

13. Gunakan Objek (atau OOP)

Pemrograman berorientasi objek (OOP) menggunakan objek untuk mewakili bagian dari aplikasi. Tidak hanya OOP adalah cara untuk memecahkan kode Anda ke bagian terpisah, bagian logikal, ini juga mengurangi pengulangan kode dan membuatnya lebih mudah untuk memodifikasi di masa depan. Jika Anda ingin mempelajari lebih lanjut, DevArticles memiliki tulisan bagus pada pemrograman berorientasi object dengan PHP.

14. Mengetahui Perbedaan Antara Kutip Tunggal dan Ganda

Ini lebih efisien menggunakan tanda kutip tunggal di string karena parser tidak harus menyaring melalui kode untuk mencari karakter escape dan hal-hal lain yang memungkinkan tanda kutip ganda. Selalu mencoba untuk menggunakan tanda kutip tunggal sedapat mungkin.

Bantahan: Sebenarnya, itu tidak selalu benar. Tes benchmark menunjukkan bahwa, ketika pengujian string tanpa variabel, ada manfaat performa yang pasti jika menggunakan tanda kutip ganda.

15. Jangan Menaruh phpinfo() di Webroot Anda

Phpinfo adalah hal yang indah. Dengan hanya menciptakan sebuah file PHP yang memiliki

1
2
  <?php phpinfo(); ?>

dan meletakkannya di suatu tempat di server, Anda dapat langsung mempelajari segala sesuatu tentang lingkungan server Anda. Namun, banyak pemula akan menempatkan file yang berisi phpinfo() di webroot server. Ini adalah benar-benar praktek yang tidak aman, dan jika ada mata yang mendapatkan akses, itu bisa berpotensi mendatangkan kiamat untuk server Anda. Pastikan phpinfo() berada di tempat yang aman, dan sebagai tindakan tambahan, hapus setelah Anda selesai.

don't put phpinfo() in your web rootdon't put phpinfo() in your web rootdon't put phpinfo() in your web root

16. Jangan, Pernah Sekalipun Mempercayai Pengguna Anda

Jika aplikasi Anda memiliki tempat untuk input pengguna, Anda seharusnya selalu beranggapan mereka akan mencoba untuk memasukkan kode nakal. (Kami tidak menyiratkan bahwa pengguna Anda adalah orang jahat. Ini hanyalah pemikiran yang baik.) Cara yang bagus untuk menjaga situs Anda bebas hacker adalah untuk selalu menginisialisasi variabel Anda untuk menjaga situs Anda dari serangan XSS. PHP.net memiliki contoh form yang diamankan dengan baik dengan variabel ayng diinisialisasi:

1
2
	<?php
3
	if (correct_user($_POST['user'], $_POST['password']) {
4
	    $login = true;
5
	}
6
7
	if ($login) {
8
	    forward_to_secure_environment();
9
	}
10
	?>

17. Menyimpan Password dengan Enkripsi

Banyak pemula PHP sering memetik data sensitif seperti password ke dalam database tanpa menerapkan enkripsi apapun. Pertimbangkan menggunakan MD5 untuk mengenkripsi password sebelum Anda menempatkan mereka ke dalam database.

1
2
echo md5('myPassword'); // renders - deb1536f480475f7d593219aa1afd74c

Bantahan: Perlu diingat, bagaimanapun, bahwa hash MD5 telah lama terganggu. Mereka benar-benar lebih aman daripada tidak samasekali, namun, dengan penggunaan yang sangat besar dari "tabel pelangi", hacker dapat mereferensi silang hash Anda. Untuk menambahkan keamanan yang lebih lagi, pertimbangkan untuk menambahkan salt juga. Salt pada dasarnya adalah tambahan set karakter yang Anda tambahkan ke string pengguna.

18. Gunakan Alat Desain Visualisasi Database

Jika Anda menemukan ini sulit untuk merencanakan dan memodifikasi database untuk aplikasi PHP Anda, Anda mungkin perlu memeriksa menggunakan alat visualisasi database. Pengguna MySQL dapat bekerja dengan DBDesigner dan MySQL Workbench untuk mendesain database Anda secara visual.

use database visualization design toolsuse database visualization design toolsuse database visualization design tools

19. Menggunakan Output Buffering

Output buffering adalah cara sederhana untuk lebih meningkatkan kinerja dan kecepatan skrip PHP Anda. Tanpa output buffering, skrip akan Anda akan menunjukkan HTML pada halaman saat diproses - dalam potongan-potongan. Menambahkan output buffering memungkinkan PHP untuk menyimpan HTML sebagai variabel dan mengirimnya ke browser dalam satu potongan.

Untuk mengaktifkan output buffering, cukup tambahkan ob_start() di bagian atas dari file.


Bantahan: Meskipun tidak diperlukan, umumnya dianggap sebagai praktik yang baik untuk langsung menambahkan fungsi "ob_end_flush();" juga di bagian bawah dokumen. N.B. Ingin mengkompres HTML juga? Cukup mengganti "ob_start();" dengan "ob_start('ob_gzhandler');"

Lihat artikel Dev-tips ini untuk informasi lebih lanjut.

1
2
<!DOCTYPE html>
3
<?php ob_start('ob_gzhandler'); ?>
4
<html lang="en">
5
<head>
6
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
7
	<title>untitled</title>
8
</head>
9
<body>
10
     
11
</body>
12
</html>
13
<?php ob_end_flush(); ?>

20. Lindungi Skrip Anda dari SQL Injection

Jika Anda tidak meng-escape karakter Anda yang digunakan dalam string SQL, kode Anda rentan terhadap SQL Injection. Anda bisa menghindarinya dengan menggunakan mysql_real_escape_string, atau dengan menggunakan prepared statements.

Berikut adalah contoh dari mysql_real_escape_string dalam aksi:

1
$username = mysql_real_escape_string( $GET['username'] );

dan prepared statement:

1
2
	$id = $_GET['id'];
3
	$statement = $connection->prepare( "SELECT * FROM tbl_members WHERE id = ?" );
4
	$statement->bind_param( "i", $id );
5
	$statement->execute();

Dengan menggunakan prepared statement, kami tidak pernah menanamkan data yang diinputkan pengguna langsung ke query kami. Sebaliknya, kita akan menggunakan metode "bind_param" untuk mengikat nilainya (dan meng-escape) ke query. Lebih aman, dan, khususnya, lebih cepat ketika mengeksekusi beberapa pernyataan CRUD sekaligus.

Baca lebih lanjut tentang cara membuat aplikasi PHP yang aman di Nettuts.

21. Mencoba ORM

Jika Anda menulis PHP berorientasi objek, maka Anda dapat menggunakan object relational mapping (ORM) yang bagus. ORM memungkinkan Anda untuk mengkonversi data antara database relasional dan bahasa pemrograman berorientasi obyek. Singkatnya: ORM memungkinkan Anda untuk bekerja dengan database dengan cara yang sama dengan Anda bekerja dengan kelas dan objek di PHP.

Ada banyak library ORM untuk PHP seperti Propel, dan ORM yang dibangun ke dalam kerangka PHP seperti CakePHP.

22. Cache Halaman yang Database-Driven

Men-cache halaman PHP yang database-driven adalah ide yang sangat baik untuk meningkatkan load dan kinerja skrip Anda. Hal ini benar-benar tidak begitu sulit untuk membuat dan mengambil file statis dari konten dengan bantuan teman baik kami ob_start(). Berikut adalah contoh yang diambil dari Snipe.net:

1
2
	// TOP of your script

3
	$cachefile = 'cache/'.basename($_SERVER['SCRIPT_URI']);
4
	$cachetime = 120 * 60; // 2 hours

5
	// Serve from the cache if it is younger than $cachetime

6
	if (file_exists($cachefile) && (time() - $cachetime < filemtime($cachefile))) {
7
	include($cachefile);
8
	echo "<!-- Cached ".date('jS F Y H:i', filemtime($cachefile))." -->";
9
	exit;
10
	}
11
	ob_start(); // start the output buffer

12
	// Your normal PHP script and HTML content here

13
	// BOTTOM of your script

14
	$fp = fopen($cachefile, 'w'); // open the cache file for writing

15
	fwrite($fp, ob_get_contents()); // save the contents of output buffer to the file

16
	fclose($fp); // close the file

17
	ob_end_flush(); // Send the output to the browser

Potongan kode ini akan menggunakan versi cache dari halaman yang berusia kurang dari 2 jam.

23. Gunakan Sistem Caching

Jika Anda ingin sistem caching yang lebih kuat, ada beberapa skrip caching untuk PHP yang mungkin lebih lengkap dari contoh di atas.

use a caching systemuse a caching systemuse a caching system

24. Memvalidasi Data Cookie

Data cookie, seperti setiap data yang dikirimkan di Web, dapat berbahaya. Anda dapat memvalidasi data cookie dengan htmlspecialchars() atau mysql_real_escape_string().

25. Gunakan Sistem Caching File Statis

Selain menggunakan sistem caching database seperti Memcached, Anda mungkin juga ingin mencoba sistem template untuk meningkatkan kinerja dalam aplikasi PHP Anda. Smarty adalah sistem template kuat memiliki cache dibangun di dalamnya.

26. Profil Kode Anda

Profil kode Anda dengan alat seperti xdebug dapat membantu Anda untuk dengan cepat mengenali kemacetan dan potensi masalah lainnya dalam kode PHP. Beberapa IDE seperti Netbeans memiliki kemampuan PHP profiling.

27. Pengkodean Standar

Setelah Anda menurunkan tali PHP, Anda dapat mulai belajar tentang pengkodean standar. Ada perbedaan antara standar di luar sana (katakanlah Zend dan Pear), dan menemukan satu dan tetap dengannya akan membantu dengan konsistensi koding dalam jangka panjang.

28. Menjaga Fungsi Tetap di Luar Loop

Anda mendapat penurunan kinerja saat Anda menyertakan fungsi dalam loop. Semakin besar loop yang Anda miliki, semakin lama waktu eksekusi yang diambil. Mengambil waktu dan baris kode ekstra dan tempatkan fungsi di luar loop.


Catatan Editor: Pikirkan cara ini. Coba untuk menghapus sebanyak mungkin operasi dari loop sebanyak mungkin. Apakah Anda benar-benar perlu untuk membuat variabel tersebut untuk setiap perulangan dari loop? Apakah Anda benar-benar perlu membuat fungsi setiap kali? Tentu saja tidak. :)

29. Jangan Menyalin Variabel Tambahan

Beberapa orang ingin mencoba dan membuat kode mereka lebih menarik dengan menyalin variabel standar ke variabel bernama lebih kecil. Ini berlebihan dan bisa berpotensi menggandakan memori skrip Anda. Google Code memiliki contoh buruk dan baik dari penggunaan variabel:

Buruk

1
2
	$description = strip_tags($_POST['description']);
3
	echo $description;

Baik

1
2
	echo strip_tags($_POST['description']);


Bantahan: Mengacu pada komentar tentang "dua kali lipat memori", ini sebenarnya adalah kesalahpahaman umum. PHP menerapkan manajemen memori "menyalin pada menulis". Ini pada dasarnya berarti bahwa Anda dapat menetapkan nilai ke variabel sebanyak yang Anda inginkan tanpa harus khawatir tentang data yang benar-benar dapat disalin. Sementara itu diperdebatkan bahwa contoh "Baik" yang dicontohkan di atas mungkin untuk membuat kode bersih, saya sangat meragukan bahwa itu lebih cepat.

30. Upgrade ke Versi Terbaru dari PHP

Meskipun tampaknya seperti hal yang masuk akal, banyak orang tidak meng-upgrade PHP sesering sebagaimana mestinya. Ada banyak peningkatan kinerja antara PHP 4 dan PHP 5. Periksa server Anda untuk memastikan Anda up to date.

31. Kurangi Jumlah Query Database

Cara apapun yang Anda dapat memotong pada jumlah query database, semakin baik performa skrip PHP Anda. Ada alat seperti Stace (Unix) dan Process Explorer (Windows) yang memungkinkan Anda untuk menemukan proses yang berlebihan dan bagaimana Anda dapat menggabungkan mereka.

Reduce the number of database queriesReduce the number of database queriesReduce the number of database queries

32. Jangan Takut untuk Meminta Bantuan

Ini adalah hanya sifat manusia untuk ingin menyembunyikan fakta bahwa kita tidak tahu banyak tentang topik tertentu. Tidak ada yang suka menjadi n00b! Tapi bagaimana kita akan belajar tanpa bertanya? Silakan untuk menggunakan forum, IRC, StackOverflow untuk menanyakan pertanyaan kepada pengembang PHP yang lebih berpengalaman. Situs PHP memiliki halaman pada mendapatkan bantuan PHP.

Memiliki bantahan Anda sendiri? Saya yakin Anda bisa! Mari kita mulai perdebatan.