Mengenal Teknologi dan Komponen PHP

php-logoKebanyakan siswa dan mahasiswa yang belajar pemrograman PHP akan mengikuti langkah standar seperti instalasi XAMPP, run Apache, Run MySQL lalu buka Notepad++ dan mulailah koding. Ada yang salah dengan langkah awal tersebut? Oh ga ada, cuma masalahnya kebanyakan (maha)siswa tidak paham dengan konsep PHP itu sendiri, apa kelebihannya, apa itu pear package, apa itu Modul, apa itu php.ini dan seterusnya.

Artikel ini akan membahas komponen PHP dan teknologi berbasis PHP yang banyak dipakai di internet serta komponen apa saja yang ada dibelakang PHP. Ini semua memang toeri dan konsep, namun bukankah para penerbang pesawat Jet tempur juga harus belajar teori dulu salama beberapa tahun baru boleh menerbankan pesawat bukan? Saya terdorong menulis artikel ini karena banyaknya masalah PHP yang bukan disebabkan oleh permasalahan Logika atau coding, namun perbedaan konfigurasi PHP antara satu server dengan server yang lain dan antara Satu bundle WAMP dengan bundle yan lain. Perbedaan versi dan bundle Apache, PHP, MySQL membuat kode PHP menjadi ‘tidak portabel’.

PHP adalah bahasa pemrograman server

Ini adalah konsep pemrograman PHP paling dasar, code PHP di eksekusi diserver, bukan di browser.  Jika anda memakai XAMPP maka anda harus meletakan kodenya di XAMPP\htdocs, pemakai Linux biasanya meletakannya di folder /var/www sedangkan pemakai AppServ meletakannya di AppServ/www. Anda tidak bisa menklik dua kali file php lalu dibuka di browser secara langsung.

Mungkinbagi yang sudah mahir PHP akan bilang, semua orang juga tahu mas? Hallo? jika anda pernah jadi pengajar/trainer PHP, anda akan melihat bagaimana para pemula akan mengalami kesalahan pertama ini. Saya sudah mengajar lebih dari 5 tahun dan selalu saja ada siswa yang tidak paham dengan konsep PHP adalah server side programming.

Ekstensi File PHP

PHP biasanya diberi ektensi .php, .php3 ataupun ektensi lain suka suka anda. Nah loh, maksudnya? Ektensi php di atur oleh apache di httpd.conf bahkan anda bisa mengunakan ektensi .jsp atau .aspx padahal sebenarnya pake PHP, namun ingat hal itu perlu konfigurasi server apachenya. Jika anda tidak tahu, tetap konsisten mengunakan ektensi .php.

 

 File Konfigurasi PHP bernama php.ini

php.ini adalah konfigurasi php yang mengatur bagaimana kode php di eksekusi. Jika di XAMPP, letaknya ada di XAMPP\php.php.ini. Ini adalah komponen paling penting di PHP. Jika program bisa berjalan di satu komputer/server lalu anda coba sendiri kok tidak berjalan, maka 99% dipastikan penyebabnya adalah perbedaan konfigurasi PHPnya dan kemungkinan kedua baru perbedaan versi phpnya. Agar lebih jelas, silahkan baca artikel saya Mengenal konfigurasi PHP.

PEAR

PEAR kependekan dari PHP Extention and Repository. Saya pernah menulis artikel tentang cara kirim email dengan PHP memanfaatkan paket MAIL dari PEAR.php.net. Sayannya pertanyaan yang paling banyak muncul justru bingung dengan perinah pear dan cara instalasi paket Mail.  Sejauh ini, cara instalasi pake pear memang menggunakan konsole, sayannya karena fokus dengan Editor PHP dan GUI jadi kebanyakan programer pemula bingung kalau ada tutorial pake Pear. Paket pear sangat banyak jumlahnya, anda bisa melihatnya di http://pear.php.net/packages.php. Anda bisa melihat paket pear yang terinstall di komputer dengan membuka folder XAMPP\php\pear.

PHP Module /Extention

PHP module adalah komponen PHP yang dibuat dengan bahasa C, biasanya formatnya *.dll atau.so. Salah satu modul yang terkenal adalah mod_rewrite yang sering dipakai oleh framework dan beberapa CMS. Modul php adalah komponen yang harus diaktifkan serta fitur baru aktif . PHP merupakan bahasa pemrograman yan modular, selain mod_rewrite masih ada modul yang lain seperti mod_pdo, mod_zip, mod_xml dan seterusnya.

Biasanya beberapa CMS dan framework meminta kita mengaktifkan modul ini. Jika modul tidak tersedia maka php akan menampilkan error, maka anda harus mendownload modul tersebut baru kemudian mengaktifkannya lewat php.ini. Jika anda ingin melihat modul apa saja yang terinstall di XAMPP, silahkan masuk ke fodler XAMPP\php\ext.

PHP Class Library

Kadang, ada orang yang membuat kelas PHP dan menjadikannya sebuah library untuk memudahkan orang lain membuat aplikasi dengan kasus yang mirip, repository php library ini bisa diakses di  phpclassses.org. Contoh kasusnya anda ingin membuat aplikasi yang membutuhkan captcha, dari pada implementasi sendiri, mending pake class php yang sudah tersedia.

Composer

,jika anda pernah install software di ubuntu dengan perintah apt-get, maka composer ini adalah apt-getnya PHP. Hah apa lagi itu? gini aja deh, intinya dengan composer kita dengan mudah mengelola dependecy komponen dari pihak ketiga. Contohnya tadi masalah captcha, kalau kita buat aplikasi butuh captcha, terus komponennya ga ada atau outdate, gimana cara mengatasinya? gunakan composer. Composer juga sudah punya repo class library siap pakai yang bisa anda lihat di packageist.com.

PHP Framework

Berbeda dengan PHP class libary, php framework adalah sekumpulan kelas yang bernaung dalam satu paket dan mempunyai seluruh fitur yang dibutuhkan untuk membuat aplikasi web. Biasanya php framework ini akan memudahkan programer dengan proses CRUD, routing, AJAX, validasi Auth dan sejenisnya. Framework yang cukup populer adalah CodeIgniter, Yii Framework, Laravel dan Zend framework.

Teknologi berbasis PHP

teknologi berbasis PHP sangat banyak, saya beri contoh singkat, untuk CMS ada wordress, joomla, drupal. Untuk ecommerce ada magento, prestashop dan zenchart. Selain itu, ada juga teknologi pembuatan aplikasi GUI dengan PHP, proyek ini bernama PHP-GTK. Facebook sendiri dikembangkan dengan PHP, namun karena PHP tidak optimal jika menangani jutaan pengunjung perhari, maka Facebook membuat teknologi baru yang bernama HVVM. HVVM adalah virtual machine PHP yang akan menkompilasi PHP dengan teknologi JUST IN TIME compilation. Bingung? gampangnya PHP itu aslinya bahasa interpreter, agar kode php berjalan cepat, maka kode PHP tadi di kompilasi menjadi bahasa mesin virtual. Nah hasil kompilasi inilah yang dijalankan di server.

 

Author: Candra Adi Putra

Candra Adi Putra adalah Alumni STMIK AKAKOM Yogyakarta. Like Candralab Studio Di Facebook.

1 thought on “Mengenal Teknologi dan Komponen PHP”

Tinggalin komentar dong!