Simfony: Membuat halaman pertama anda

Artikel ini sebenarnya menyalin dari dokumentasi Symfony (https://symfony.com) , bagaimana membuat halaman pertama pada symfony  framework ini. Ada 2 langkah yang harus kita buat .

  • Membuat ‘rute’ : Rute adalah URL (misal: / about) ke halaman anda dan menunjuk ke controller.
  • Membuat ‘controller’ : Controller adalah fungsi PHP yang anda tulis yang membangun halaman. Anda mengambil informasi permintaan masuk dan menggunakannya untuk membuat objek Respons Symfony, yang dapat menampung konten HTML, string JSON atau bahkan file biner seperti gambar atau PDF.

Sekarang buat sebuah file  ‘Controller’ pada folder : mysymfony1/src/AppBundle/Controller/  dengan nama file LuckyController.php , ingat ya pada saat install saya menamai folder proyeknya : mysymfony1  (anda sesuaikan sendiri).

<?php
// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;</code>

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
/**
* @Route("/lucky/number")
*/

public function numberAction()
{
   $number = mt_rand(0, 100);

   return new Response(
      'Lucky number: '.$number.''
    );

}
}

Jalankan servernya  dan lihat pada browser anda.

http://localhost:8000/app_dev.php/lucky/number

Notes : Kalau di jalankan di web server : bisa dihilangkan  app_dev.php

Screenshot from 2017-06-30 10:59:49
Menjalankan PHP Server

Hasilnya.

symony2-02

Bagaimana agar bisa di tampilkan (views) menggunakan templates?

Symfony sudah menyediakan ‘twig templates’ untuk  membantu kita membuat web templates pada symfony. Kita hanya sedikit merubah ‘kode’ tadi dan penambahan file views  templates-nya.

Buatlah kode controller tadi seperti ini :

<?php
// src/AppBundle/Controller/LuckyController.php
namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
//penambahan baris baru ini
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class LuckyController extends Controller
{
    /**
     * @Route("/lucky/number")
     */

    public function numberAction()
    {
        $number = mt_rand(0, 100);

        //penambahan fungsi $this->render
        return $this->render('lucky/number.html.twig', array(
            'number' => $number,
        ));
    }
}

Satu lagi siapkan templates-nya, untuk file templates kita simpan pada folder app/Resources/views/lucky   => buat sendiri folder lucky. Beri nama filenya : number.html.twig

{# app/Resources/views/lucky/number.html.twig #}
<h1>Your lucky number is {{ number }}</h1>

Jalankan di browser, hasilnya :

Screenshot from 2017-07-01 06:23:32
Hasil  tampilan di views templates

Berhasil.

Mohon maaf kalau artikelnya agak kaku atau mungkin ada yang kelewat, maklum saja sambil nulis sambil baca dokumentasi dan langsung mempraktekannya.

Catatan tambahan dari dokumentasi :

Memeriksa Struktur Proyek¶

Kabar baik! Anda telah bekerja di dalam dua direktori terpenting dalam proyek Anda:

  • app/
    Berisi hal-hal seperti konfigurasi dan template. Pada dasarnya, apapun yang bukan kode PHP ada disini.
  • src /
    Kode PHP anda tinggal disini
    99% dari waktu, Anda akan bekerja di src / (file PHP) atau aplikasi / (yang lainnya). Saat Anda terus membaca, Anda akan belajar apa yang bisa dilakukan di dalam masing-masing.

Lalu bagaimana dengan direktori lain dalam proyek ini?

  • bin/
    File bin / console yang terkenal tinggal di sini (dan file executable lainnya yang kurang penting).
  • tests /
    Tes otomatis (misalnya tes Unit) untuk aplikasi Anda tinggal di sini.
  • var /
    Di sinilah file yang dibuat secara otomatis disimpan, seperti file cache (var / cache /), log (var / logs /) dan sesi (var / sessions /).
  • vendor/
    Pustaka pihak ketiga (yaitu “vendor”) tinggal di sini! Ini didownload melalui manajer paket Composer.
  • web/
    Ini adalah akar dokumen untuk proyek Anda: letakkan file yang dapat diakses publik di sini (misalnya CSS, JS dan gambar).

Salam

Symfony PHP framework

Alhamdulillah, tiga hari berturut-turut bisa menulis artikel kembali tentang PHP framework dan hari ini saya coba menulis tentang instalasi Symfony framework ( https://symfony.com/ )

symfony-framework-01

Ada beberapa cara instalasi Symfony framework ini, diantaranya dengan ‘Symfony installer’ adalah executable PHP 5.4 yang kompatibel yang perlu diinstal di sistem Anda hanya satu kali.

Untuk pengguna Linux seperti saya, perintahnya  :

#Linux
$ sudo mkdir -p /usr/local/bin
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony

Kalau berhasil akan terlihat file installer ‘symfony’ pada folder /usr/local/bin

Selanjutnya tinggal kita buat proyek baru, saya memberinamanya : mysymfony1 (silahkan sesuaikan sendiri )

$ symfony new mysymfony1

Hasilnya :

symfony-framework-03-new
Membuat proyek baru dengan Symfony  2.8

Apabila versi PHP yang ada di komputer kita tidak mendukung versi symfony terbaru maka akan keluar peringatan seperti ini:

symfony-framework-02-php-version
Symfony versi 3.3.2 , membutuhkan minimal PHP versi 5.5.9. Sementara di komputer saya hanya ada PHP versi 5.4.45. Jadi saya install Symfony versi 2.8

Symfony versi 2.8.22 berhasil di install.

  • Buka terminal lagi , pindah ke folder proyek yang baru di buat
  • Kemudian aktifkan php webserver-nya.

$ cd mysymfony1
$ php app/console server:start

Screenshot from 2017-06-30 10:59:49

Dari gambar di atas terlihat web server sudah aktif di localhost pada port 8000.

Buka browser kesayangan anda, ketik : http://localhost:8000

Screenshot from 2017-06-30 11:08:41

Berhasil di install dan di jalankan.

Salam.

Lithium PHP framework

Iseng lagi aja, mengisi kekosongan waktu. Sebenarnya bukan karena tidak ada kerjaan tetapi karena terlalu lama santai sehingga bingung mau mengerjakan apa. Akhirnya ‘ngoprek’ PHP framework aja deh.

Tentu saja, kalau dulu ‘ngoprek’ -nya tanpa di catat/tulis, sekarang saya coba di tulis  di blog ini aja. Siapa tahu ada  yang memerlukannya.

Dan sekarang pilihannya pada lithium (li3) framework.

Lithium (Li3) PHP framework
You asked for a better framework. Here it is.
li₃ is the fast, flexible and most RAD development framework for PHP

Seperti kebanyakan php framework yang kekinian, untuk dapat meng-install framework di sarankan menggunakan ‘composer‘ begitu juga dengan yang ini. Sebenarnya bisa saja secara manual seperti halnya php framework yang menggunakan Model, View, Controller (MVC) tetapi memang jadi lama deh.

Untuk dapat menginstall framework ini selain harus sudah terpasang ‘composer’ juga harus PHP versi 5.3++ ke atas. Agar bisa menjalankan server bawaan dari PHP itu sendiri. Dan satu lagi harus terhubung dengan internet, karena source code akan langsung di download.

Sudah siap? Mulai….

Buatlah proyek baru dengan  ‘Composer’ dan tentukan nama foldernya. Saya  menamai foldernya : mylithium. Sehingga perintahnya seperti di  bawah ini.

composer createproject preferdist unionofrad/framework mylithium

Setelah selesai hasilnya akan seperti gambar di bawah ini :

*Catatan : saya menggunakan OS Linux Debian Wheezy. Silahkan di sesuaikan dengan OS yang anda pakai.

composer-lithium

Setelah selesai membuat proyek baru, akan terlihat folder baru yang saya berinama: mylithium. Lihat gambar-gambar di bawah ini.

lithium framework
Isi folder baru: mylithium
lithium-02
Source code Lithium framework ada di folder : mylithium/libraries
lithium-03
Lokasi  index.php ada di mylithium/app/webroot
lithium-04
Lokasi model, controller, views dan source code yang kita buat ada di : mylithium/app

Kalau sudah terlihat seperti ini berarti kita sudah berhasil install lithium ke komputer sendiri, sekarang saatnya untuk mencobanya.

Ada yang berbeda ya? Biasanya kita simpan kode sumber di dokumen root server localhost, kalau ini bisa dimana saja. Kenapa? karena kita akan menjalankan server bawaan PHP sendiri dengan perintah seperti di bawah ini.

Ingat saya membuat folder rootnya di : mylithium/app/webroot sehingga perintahnya seperti ini.

php S 127.0.0.1:8080 t mylithium/app/webroot

Screenshot from 2017-06-29 07:22:46

Dan kita buka browsernya pada port 8080, seperti ini hasilnya.

Screenshot from 2017-06-29 07:24:43

Jika  hasilnya sama, berarti  kita berhasil install dan menjalankannya.

Salam

 

Fat-free PHP framework

Fat-free framework 
Kerangka kerja mikro PHP yang hebat namun mudah digunakan dirancang untuk membantu Anda membangun aplikasi web yang dinamis dan kuat – cepat!

Sepertinya fat-free framework ini bagus juga. Saatnya saya mencoba nih php framework, selain ukurannya yang kecil juga dokumentasi yang lengkap dan mudah di oprek nih.

Mulai…..

Fat-free framework (F3) versi 3.6 ini minimal menggunakan PHP versi 5.4 kalau pake yang di bawahnya akan ada kesalahan-kesalahan. Periksa dulu deh versi PHP nya nih, ternyata versi PHP nya masih cocok dengan yang saya install di laptop, siplah.

php-version

Selanjutnya dowload dulu source code-nya di https://fatfreeframework.com.

Setelah di download

  • Buka file zip-nya dan kemudian
  • Extract ke root document server localhost biasanya di /var/www/ (ubuntu/debian) atau di folder htdocs.
  • Ganti folder “fatfree-master” dengan nama “fatfree” agar lebih mudah pemanggilannya
  • Aktifkan server localhost-nya (bila sebelumnya belum aktif)
  • Buka browser anda dan ketik http://localhost/fatfree
  • Jika berhasil akan terlihat homepage fat-free seperti gambar di bawah ini, jika belum berhasil periksa  lagi langkah-langkahnya.

*Catatan : untuk  pengguna linux, ganti akses folder fatfree-nya agar bisa di akses.

fatree-home

Selamat  kita sudah berhasil pasang fat-free PHP framework.

Pada artikel selanjutnya, akan di berikan tutorial studi  kasus membuat sistem informasi sederhana, agar pembahasannya mudah di pahami.

Salam

[TUTORIAL] Membuat CMS Company Profile dengan Panada Framework–Bag.10

Memadukan file uppload manager KCFINDER dengan editor TINYMCE

Sudah lama juga saya belum update tutorial tentang panada framework ini, dan setelah membaca bagian terakhir (bagian 9) ternyata ada janji yang belum saya tepati, yaitu bagaimana memadukan file manager dan upload kcfinder dengan tinymce editor yang sudah terpasang pada CMS yang kita buat. Pada saat klik ikon image akan tampil insert/eit image dan di samping baris ‘source’ tidak ada folder untuk ‘browse file’.

tinymce-tanpa-kcfinder
Gb. 10.1 | TinyMCE tanpa KCFinder

Kenapa memilih KCFINDER ? Lanjutkan membaca “[TUTORIAL] Membuat CMS Company Profile dengan Panada Framework–Bag.10”

Uninstall LibreOffice 3.X.X dan Install LibreOffice 4.1.4 pada Debian Wheezy

Di pagi ini kita akan mencoba untuk mengganti LibreOffice versi 3.4.X  dengan LibreOffice terbaru yaitu versi 4.1.4 yang lebih baik 🙂 , OS yang saya pakai adalah Debian Wheezy.  Kita bisa ambil Software LibreOffice ini secara FREE di http://www.libreoffice.org/download . Inilah langkah install dan uninstallnya :

Dikarenakan pada OS ini ada LibreOffice versi lama yaitu versi 3.4.x , jadi kita uninstall dulu :


$ sudo apt-get remove --purge libreoffice*

$ sudo apt-get clean

$ sudo apt-get autoremove

Sebenarnya saya juga sudah install versi baru ini tanpa harus meng-uninstall versi lama terlebih dahulu (pada Ubuntu 11.10) dan hasilnya tetap bisa berjalan dengan baik. Hanya saja jadi tidak effisien dalam satu komputer terinstall 2 versi yang berbeda. Jadi pada OS Debian Wheezy ini saya lakukan uninstall versi lama terlebih dahulu. Setelah uninstall selanjutnya kita install versi barunya.


$ tar -xzvf libreoffice*.tar.gz

$ cd libreoffice*/DEBS

$ sudo dpkg -i *.deb

Ok. Selesai dah.

LibreOffice 4

Refferensi :

http://www.libreoffice.org/get-help/installation/linux/
http://www.libreoffice.org/get-help/installation/linux/#De-Installation_of_a_Previous_Version_of_Community-Supplied_LibreOffice_for_Linux

http://linuxg.net/how-to-uninstall-libreoffice-from-debian-based-distros/
http://linuxg.net/how-to-install-libreoffice-3-5-73-6-54-0-0-on-debian-based-systems/

[TUTORIAL] Membuat CMS Company Profile dengan Panada Framework–Bag.9

Akhirnya sampai juga pada pembahasan bagaimana cara upload image, dalam kasus ini tentang upload gambar untuk menu slide -lanjutkan-”

 

Agar pembahasannya tidak melebar kesana – kemari jadi kita batasi saja , pokok-pokok yang akan kita bahas pada bagian 9 ini :

  • Bagaimana membuat fiture depan ‘slide banner’ CMS ini .
  • Bagaimana mengupload gambar pada panadaframework ini.

Kalau berbicara bagaimana mengupload gambar pada panada framework ini sebenarnya sudah lengkap ada pada dokumentasinya. Coba aja di lihat lagi pada link ini :

http://panadaframework.com/documentation/id/classes/upload.html

Hanya saja kadang-kadang tidak semua memahaminya, sama dengan saya saat pertama kali mengenal panada ini. Karena praktek dan praktek, mencoba dan mencoba, dan melihat dan melihat ‘kode’ ternyata mudah juga. Apalagi saat sudah ketemu masalahnya, begitu mudahnya. Hanya bisa bilang…. ooooh begitu toh. 🙂

Kembali ke program CMS kita yaitu kita akan membuat fiture untuk merubah atau memodifikasi slide banner pada halaman depan. Seperti ini :

panada-tutorial

Gambar 9.1 : Tampilan Slide Banner

Lanjutkan membaca “[TUTORIAL] Membuat CMS Company Profile dengan Panada Framework–Bag.9”