Pemrograman Web Kelas TIF-F TUGAS Review Phalcon Framework LEO TIOFAN JUSTICIA SILALAHI (125150101111017) MAHISA DYAN DIPTYA (125150107111007)
Dosen : Dr.Eng. Herman Tolle, ST., MT.
Program Teknologi Informasi & Ilmu Komputer Universitas Brawijaya April 2012
Tugas Review Phalcon Framework
Pemrograman Web TIF-F
I. TAGLINE Tagline Framework Phalcon Phalcon adalah sebuah framework PHP untuk membuat aplikasi web. Salah satu perbedaan Phalcon dibandingkan dengan framework PHP lainnya adalah bahwa Phalcon merupakan framework yang berbentuk komponen PHP. Phalcon dibuat dengan bahasa C dan di-compile menjadi komponen biner untuk di-load oleh PHP. Tagline: “The fastest PHP Framework“
Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
1
Tugas Review Phalcon Framework
Pemrograman Web TIF-F
II. SPECIAL FEATURES Kelebihan Framework Phalcon di banding framework lain adalah : 1. High Performance Framework ini dibangun di atas bahasa C sebagai C-extension. Sehingga tidak heran jika Peformance nya jauh di atas framework-framework lain. C-extension sendiri merupakan Ekstensi buat engine PHP-nya, Semisal framework lain punya banyak file yang di-load buat dasar sistem si framework tersebut, Di sisi lain Phalcon ini di-loadnya barengan sama engine PHP-nya sehingga menjadi Sangat efektif loadtime-nya karena library-nya udah tersimpan di memori. Atau dengan kata lain, Framework Phalcon ini berperan seperti script built-in yang siap dipakai tanpa include di webserver . 2.
C-language ORM Phalcon adalah kerangka PHP pertama yang mengimplementasikan ORM yang murni pada C. Konsekuensi dari fakta ini adalah peningkatan kinerja, bila dibandingkan dengan ORM pada umumnya. Karena ORM adalah komponen kunci dari begitu banyak aplikasi dan digunakan begitu luas, setiap perubahan positif terhadap kinerja memiliki efek yang nyata.
3.
Developer Tool Phalcon Developer Tools memungkinkan kita untuk menghasilkan kode boilerplate dan langsung menuju implementasi logika aplikasi kita. Phalcon Developer Tools juga dapat menghasilkan setiap unsur MVC triad secara terpisah - model, view atau controller, atau membuat perancah (kode lengkap untuk mengelola catatan dalam database) yang merupakan cara yang sangat efisien telah menjalankan prototipe. Phalcon Developer Tools juga dapat menghasilkan kerangka proyek kita, atau bahkan menggunakan twitter bootstrap untuk "nice looking prototipe". Jika kita bukan seorang "command line ninja", kita dapat menggunakan antarmuka web (kedua alat konsol dan rekan-rekan web mereka disediakan).
4.
Code Completion Kita mungkin berpikir bahwa karena Phalcon adalah sebuah framework berbasis C, tidak memungkinkan untuk memberikan penyelesaian kode dengan IDE favorit kita. Untungnya, hal ini tidak terjadi. Penyelesaian kode ditangani dengan cara yang sama seperti pada fungsi PHP, menggunakan potongan file.
Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
2
Tugas Review Phalcon Framework
Pemrograman Web TIF-F
III. DOWNLOAD, INSTALASI DAN GET STARTED A. Download 1. Linux/Unix/Mac #Ubuntu sudo apt-get install php5-dev php5-mysql gcc #Fedora sudo yum install php-devel php-mysqlnd gcc libtool #RHEL sudo yum install php-devel php-mysql gcc libtool #Suse yast2 -i php5-pear php5-devel php5-mysql gcc #FreeBSD pkg_add -r phalcon #Debian wget -O - http://debrepo.frbit.com/frbit.gpg | sudo apt-key add - aptitude update aptitude install php5-igbinary php5-mongo php5-oauth php5-phalcon php5-runkit php5-stats php5-stomp php5-yaf php5-yaml 2.
Windows http://phalconphp.com/en/download/windows
B. Instalasi 1.
Linux/Unix/Mac a) Untuk menggunakan Phalcon di linux,kita hanya tinggal meng-compile dan menginstall ekstensinya dari source codenya. b) Membutuhkan: - PHP 5.3 development resources / versi yang lebih baru - GCC compiler - Git c) Untuk Linux, tiap OS nya memiliki spesifikasi Package yang berbeda-beda #Ubuntu sudo apt-get install php5-dev php5-mysql gcc #Fedora sudo yum install php-devel php-mysqlnd gcc libtool #RHEL sudo yum install php-devel php-mysql gcc libtool #Suse yast2 -i php5-pear php5-devel php5-mysql gcc #FreeBSD pkg_add -r phalcon #Debian wget -O - http://debrepo.frbit.com/frbit.gpg | sudo apt-key add - aptitude update aptitude install php5-igbinary php5-mongo php5-oauth php5-phalcon php5-runkit php5-stats php5-stomp php5-yaf php5-yaml
Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
3
Tugas Review Phalcon Framework
Pemrograman Web TIF-F
d) Tahap selanjutnya,merupakan tahap Compile: yang dilakukan pertama kali adalah membuat extensi : git clone --depth=1 git://github.com/phalcon/cphalcon.git cd cphalcon/build sudo ./install e) Tambahkan Extensi ke konfigurasi Php : #Suse: Add this line in your php.ini extension=phalcon.so #Centos/RedHat/Fedora: Add a file called phalcon.ini in /etc/php.d/ with this content: extension=phalcon.so #Ubuntu/Debian: Add a file called 30-phalcon.ini in /etc/php.d/ with this content: extension=phalcon.so f) Restart WebServer 2.
Windows a) Untuk menggunakan Phalcon di windows, kita dapat mendownload DLL library di http://phalconphp.com/en/download/windows
Selanjutnya Lakukan Instalasi Phalcon di XAMPP b) Setelah berhasil mendownload Library, Extract library tersebut untuk mendapatkan Phalcon.dll
c) Selanjutnya, Copy library tersebut ke folder xampp/php/ext/
d) Kemudian Edit file php.ini , dan tambahkan di akhir : extension=php_phalcon.dll e) Restart Apache Web Server dari XAMPP Control panel. Ini akan Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
4
Tugas Review Phalcon Framework
f)
Pemrograman Web TIF-F
memproses Configurasi PHP baru Pada browser ketik http://localhost. Kemudian buka phpinfo() , dan cari informasi tentang Phalcon ,bjika sudah ketemu berarti Phalcon Framework telah berhasil terpasang
C. Get Started 1. Struktur Project Pertama
Jika kita telah menggunakan framework PHP lain, kita akan mengharapkan beberapa file framework terkait di suatu tempat dalam struktur folder proyek kita. Dengan Phalcon, semua file ini sudah tersedia dalam memori, sehingga semua yang perlu kita lakukan untuk memulainya adalah membuat struktur folder kosong di suatu tempat di dalam Apache document root (defaultnya /var/www). Cara yang disarankan untuk melakukannya adalah sebagai berikut:
project_name/ app/ controllers/ models/ views/ public/ css/ img/ js/
Jadi apa yang kita miliki di sini adalah folder proyek yang memiliki 2 folder utama: app dan publik. Yang pertama akan menjadi rumah logika aplikasi kita (kebanyakan PHP) sedangkan yang kedua adalah di mana browser kita akan mengarahkan dan diarahkan ke sumber daya dalam folder app di satu sisi, dan memiliki akses ke semua aset frontend, di sisi lain. 2.
Bootstrapping File Yang pertama dan paling penting yang kita butuhkan untuk membuat adalah file index.php aplikasi kita akan digunakan untuk bootstrap. Buat file ini di public/folder aplikasi kita: nano /var/www/project_name/public/index.php
Dan paste kode berikut:
//Register an autoloader $loader = new \Phalcon\Loader(); $loader->registerDirs(array( '../app/controllers/', '../app/models/' ))->register(); Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
5
Tugas Review Phalcon Framework
Pemrograman Web TIF-F
//Create a DI $di = new Phalcon\DI\FactoryDefault(); //Setup the view component $di->set('view', function(){ $view = new \Phalcon\Mvc\View(); $view->setViewsDir('../app/views/'); return $view; }); //Setup a base URI so that all generated URIs include the "tutorial" folder $di->set('url', function(){ $url = new \Phalcon\Mvc\Url(); $url->setBaseUri('/project_name/'); return $url; }); //Handle the request $application = new \Phalcon\Mvc\Application($di); echo $application->handle()->getContent(); } catch(\Phalcon\Exception $e) { echo "PhalconException: ", $e->getMessage(); }
Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
6
Tugas Review Phalcon Framework
Pemrograman Web TIF-F
IV. CONTOH WEB 1. GAZETA (URL: http://gazeta.ua/)
2. CLOUD9LIVING (URL: http://www.cloud9living.com/)
3. PHALCONEYE (URL: http://phalconeye.com/)
Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
7
Tugas Review Phalcon Framework
Pemrograman Web TIF-F
4. PHALCON (URL: http://phalconphp.com/en/)
5. RANDOMSTORM (URL: https://www.randomstorm.com/)
Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
8
Tugas Review Phalcon Framework
Pemrograman Web TIF-F
V. PUSTAKA Anonim. Download Phalcon. [Online]. Tersedia: http://phalconphp.com/en/download [4 Mei 2014]. Anonim. Phalcon For Windows. [Online]. Tersedia: http://phalconphp.com/en/download/windows [4 Mei 2014]. Anonim. (2013). Tutorial: your first encounter with Phalcon / Part 1. [Online]. Tersedia: http://blog.phalconphp.com/post/36646589046/tutorial-your-first-encounter-with-pha lcon-part-1 [4 Mei 2014]. Anonim. (2014). Sites/ Applications Running On Phalcon. [Online]. Tersedia: https://github.com/phalcon/cphalcon/wiki/Powered-by-Phalcon [4 Mei 2014]. Anonim. (2014). How To Install and Get Started With Phalcon on an Ubuntu 12.04 VPS. [Online]. Tersedia: https://www.digitalocean.com/community/articles/how-to-install-and-get-started-with -phalcon-on-an-ubuntu-12-04-vps [4 Mei 2014] Anonim. (2014). Installation. [Online]. Tersedia: http://docs.phalconphp.com/en/latest/reference/install.html#windows [4 Mei 2014]
Leo Tiofan Justicia Silalahi (125150101111017) Mahisa Dyan Diptya (125150107111007)
9