Cara Membuat Library atau Class Sendiri dalam Laravel 5.x

Membuat library atau sebuah class sendiri dengan Laravel bertujuan agar memudahkan programmer dalam menggunakan ulang fungsi-fungsi yang sering dipakai (reuseable). Sekumpulan fungsi yang sudah dibuat dalam sebuah library Laravel, bisa digunakan pada seluruh aplikasi atau dicopy untuk digunakan pada proyek Laravel lainnya.

Cara membuat library pada Laravel sangat mudah. Langkah-langkahnya adalah sebagai berikut:

Membuat File Library

Buatlah sebuah sub folder baru di dalam folder app, misalnya diberi nama Lib. Kemudian di dalam folder Lib buatlah sebuah file sesuai keinginan anda. Dalam contoh di tulisan ini kita sedang membuat sebuah library bernama Mahasiswa, maka buatlah sebuah file bernama Mahasiswa.php.

Di dalam file Mahasiswa.php, buatlah class, property dan method sesuai keperluan anda. Contoh di sini kita membuat method untuk mendapatkan grade sebuah nilai mahasiswa. Maka isi librarynya adalah sebagai berikut:

<?php
// Buat namespace sesuai folder
namespace App\Lib;
 
class Mahasiswa {
    // Sebuah method untuk mencari grade
    public static function GradeNilai($nilai) {
        $tabel = array(
            'A' => [85, 101],
            'B' => [75, 85],
            'C' => [65, 75],
            'D' => [55, 65],
            'E' => [0, 55],
        );
 
        foreach ($tabel as $grade => $batas) {
            if ($nilai >= $batas[0] and
                $nilai < $batas[1]) {
                return $grade;
            }
        }
    }
}

Cara Menggunakan Library

Sekarang library ini bisa digunakan pada sebuah controller yang sudah kita buat dengan menggunakan perintah use, diikuti dengan nama namespace dan nama librarynya. Contohnya adalah seperti ini:

<?php
 
namespace App\Http\Controllers;
 
// Gunakan library yang sudah dibuat
use App\Lib\Mahasiswa;
 
class TestingController extends Controller {
 
    public function index() {
        // Contoh memanggil method pada class Mahasiswa 
 
        $nilai = 75;
        echo "Nilai $nilai, grade: ".Mahasiswa::GradeNilai($nilai)."<br/>";
 
        $nilai = 67;
        echo "Nilai $nilai, grade: ".Mahasiswa::GradeNilai($nilai)."<br/>";
 
        $nilai = 30;
        echo "Nilai $nilai, grade: ".Mahasiswa::GradeNilai($nilai);
    }
}

Testing

Coba buka controller yang sudah dibuat pada browser anda, kalau pembuatan library dan controller sudah benar maka akan melihat hasilnya seperti gambar di bawah ini:

Selesai

Membuat class atau library di Laravel dapat dilakukan hanya dengan dua langkah, yaitu membuat class di folder app dan kemudian menggunakannya di controller dengan perintah use. Mudah dan praktis bukan? Selamat mencoba dan mempraktekkan dalam proyek-proyek anda.

Web hosting murah dan bagus

Cara Menginstall Library Menggunakan Composer pada CodeIgniter

Composer adalah sebuah package manager pada PHP. Sebagai sebuah package manager PHP, Composer berfungsi untuk mendownload package atau library yang dibutuhkan pada sebuah proyek PHP yang sedang kita buat.

Composer menggunakan website packagist.org sebagai pusat menyimpan package-package PHP (repository).

Suatu waktu mungkin kita perlu untuk menggunakan package-package Composer untuk dipasang diproyek CodeIgniter yang sedang kita buat. Bagaimanakah cara menginstall package tersebut menggunakan Composer? Mari kita simak caranya.

Install Composer

Download dan install Composer di komputer anda. Link untuk download Composer adalah https://getcomposer.org/download

Konfigurasi CodeIgniter

Pertama kali yang kita lakukan adalah mengubah konfigurasi CodeIgniter agar me-load otomatis package Composer yang nanti akan kita instal. Caranya: Buka file application/config/config.php dan cari setting composer_autoload dan ubah menjadi true.

$config['composer_autoload'] = true;

Buat File composer.json

Buatlah file composer.json dalam folder application. File ini berguna untuk mendefinisikan package apa saja yang akan kita butuhkan (yang akan kita install). Sebagai contoh, disini kita mencoba mendownload package mpdf.

{
    "name": "namasaya/proyek",
    "description": "Percobaan install composer package",
    "require": {
       "mpdf/mpdf" : "5.6.*"
    }
}

Package mpdf ini hanya sekedar contoh saja, anda bisa menentukan package lain yang anda butuhkan.

Jalan Composer Update

Sampai saat ini package yang kita tentukan di dalam file composer.json belum di-download ke komputer kita. Untuk mendownload package yang sudah kita tentukan tersebut, silahkan buka terminal dan masuk ke folder application dan ketik perintah:

composer update

Tunggu beberapa saat sampai sampai prosesnya selesai.

Gunakan Package pada Controller

Sekarang mari kita test apakah package yang sudah kita download dengan Composer apakah dapat kita gunakan atau tidak. Buatlah sebuah fungsi percobaan, paling gampang adalah pada file application/controllers/Welcome.php , seperti ini contohnya:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
 
class Welcome extends CI_Controller {
 
    ...
    public function pdf() {
        $mpdf = new mPDF();
        $mpdf->WriteHTML('<body style="font-family: arial; font-size: 20px;">
                          <b>Percobaan Composer pada CodeIgniter</b>
                          </body>');
        $mpdf->Output();
    }
}

Setelah itu coba lihat hasilnya:

Hore… Library mpdf yang kita coba sudah berhasil.

Percobaan di atas sebenarnya untuk memastikan library dari Composer berhasil atau tidak.

Selanjutnya anda bisa bereksperiman dengan menggunakan package lain atau membuat package sendiri.

Kalau anda ingin membuat package sendiri, silahkan melihat contoh package yang sudah kami buat https://github.com/komputronika/kalkulator

Selamat mencoba dan berkreasi dengan Composer dan CodeIgniter.

 

Web hosting murah dan bagus

CodeIgniter: Framework PHP yang Ringan dan Cepat

Framework PHP Codeigniter

Banyak orang berdiskusi di forum tentang framework PHP mana yang menawarkan fitur lebih baik? Misalnya tentang Laravel vs CodeIgniter. Kedua framework ini memiliki keunikan sendiri dan dua-duanya memiliki kelebihan dan kekurangan masing-masing.

Menurut penulis, CodeIgniter lebih mudah dipelajari dan lebih mudah dalam hal pemrograman-nya. CodeIgniter adalah framework PHP yang fleksibel dan modern. Anda tinggal mendownload versi terbaru dari website CodeIgniter dan langsung bisa dijalankan dengan konfigurasi dasar. Demikian pula kalau website yang sudah jadi akan diupload ke sebuah server web hosting, cukup upload dengan FTP dan tidak perlu mengakses shell.

Meskipun masih pemula tentang arsitektur MVC, anda tetap dapat dengan mudah menggunakan CodeIgniter dengan membaca dokumentasi dan artikel-artikel tutorial yang banyak di Internet.

CodeIgniter memiliki komunitas online yang besar, yang sangat bermanfaat untuk membantu proyek-proyek CodeIgniter anda.

Jika anda adalah seorang pemula dalam menggunakan framework PHP CodeIgniter, ini adalah kelebihan-kelebihan yang dimiliki CodeIgniter yang sangat bermanfaat:

  • Stabil
  • Komunitas besar
  • Sederhana, ringan dan cepat
  • Aman, sudah teruji oleh jutaan pengguna
  • Dokumentasi Lengkap
Web hosting murah dan bagus

Cara Membaca dan Membuat File Excel dengan CodeIgniter dan PHPExcel

Kemampuan untuk membaca dan membuat file Excel dalam sebuah aplikasi berbasis web sangat dibutuhkan. Biasanya untuk keperluan menginput data yang banyak (impor) atau untuk menghasilkan laporan yang bisa diolah lebih lanjut (ekspor). Dalam tulisan ini akan dijelaskan langkah-langkah atau cara menggabungkan CodeIgniter dengan library PHPExcel:

Install PHPExcel

  • Download library PHPExcel dari alamat: http://phpexcel.codeplex.com/
  • Buat folder baru bernama PHPExcel di folder application/third_party
  • Extract file PHPExcel yang sudah di download dan copy ke dalam folder application/third_party/PHPExcel

Buat Library di CodeIgniter

Buatlah sebuah file baru dengan nama Excel.php di dalam folder application/library , kemudian isi dengan kode sebagai berikut:

<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');  
 
require_once APPPATH."/third_party/PHPExcel/PHPExcel.php";
ini_set('memory_limit','1024M');
 
Class Excel extends PHPExcel {
    public function __construct() {
        parent::__construct();
    }
}
?>

 

Contoh Membaca File Excel

Buat dulu file Excel dengan nama coba.xls (isinya bebas), kemudian taruh file Excel tersebut di folder application (atau dimana saja sesuai keinginan).

Buatlah sebuah method baru di controller Welcome dan isinya seperti ini:

public function bacaexcel()
{
    $file = APPPATH.'coba.xls';
    $this->load->library('excel');
 
    $objPHPExcel = PHPExcel_IOFactory::load($file);
 
    // Ambil koleksi cell saja
    $cell_collection = $objPHPExcel->getActiveSheet()->getCellCollection();
 
    // Copy ke array semua cell nya
    $data = array();
    foreach ($cell_collection as $cell) {
 
        $kolom = $objPHPExcel->getActiveSheet()->getCell($cell)->getColumn();
        $baris = $objPHPExcel->getActiveSheet()->getCell($cell)->getRow();
        $isi   = $objPHPExcel->getActiveSheet()->getCell($cell)->getValue();
 
        if ($baris == 1) {
            $header[$kolom] = $isi;
        } else if ($baris >= 1) {
            $data[$baris][$kolom] = $isi;
        }
 
    }
 
    // Untuk keperluan demo, saya tidak pakai view
    print "<table border='1' cellpadding='5'>";
    print "<tr>";
    foreach ($header as $h) {
        print "<td><b>$h</b></td>";
    }
    print "</tr>";
    foreach($data as $bar) {
        print "<tr>";
        foreach ($bar as $kol) {
            print "<td>$kol</td>";
        }
        print "</tr>";
    }
    print "</table>";
 
}

Bila instalasi PHPExcel sudah benar dan program sudah benar, maka akan menghasilkan output sebagai berikut: (tampilan ini hanya contoh.  Tergantung isi file coba.xls yang anda buat).

 

Contoh Membuat File Excel

Ini adalah contoh membuat file Excel. (untuk percobaan, script ini boleh ditaruh di controller Welcome).

public function buatexcel()
{
    $this->load->library('excel');
    $this->excel->setActiveSheetIndex(0);
    $this->excel->getActiveSheet()->setTitle('Worksheet1');
    $this->excel->getActiveSheet()->setCellValue('A1', 'Halo CodeIgniter Indonesia');
    $this->excel->getActiveSheet()->getStyle('A1')->getFont()->setSize(20);
    $this->excel->getActiveSheet()->getStyle('A1')->getFont()->setName("Calibri");
    $this->excel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
 
    $filename='demo.xls'; 
 
    // Header file Excel
    header('Content-Type: application/vnd.ms-excel'); 
    header('Content-Disposition: attachment;filename="'.$filename.'"');
    header('Cache-Control: max-age=0'); 
 
    $objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
 
    // Agar output didownload
    $objWriter->save('php://output');
}

Jalankan programnya maka browser akan mendownload file Excel dengan nama demo.xls. Silahkan dibuka file Excel tersebut dan anda akan lihat hasilnya seperti ini: (tulisan dengan font Calibri, 20px, Bold. Sesuai dengan yang didefinisikan di script tadi. Mantap).

 

Contoh Membuat File Excel dari database

Contoh script untuk membuat file Excel yang datanya diambil dari database:

public function exceldatabase() {
 
    $this->load->library('excel');
    $this->excel->setActiveSheetIndex(0);
    $this->excel->getActiveSheet()->setTitle('Daftar Siswa');
 
    // Load model
    $this->load->model('siswa_model');
 
    // Baca dari tabel sebagai array
    $siswa = $this->siswa_model->get_array();
 
    // Perintahkan PHPExcel untuk membuat 
    $this->excel->getActiveSheet()->fromArray($siswa);
 
    $filename='siswa.xls'; 
 
    header('Content-Type: application/vnd.ms-excel'); 
    header('Content-Disposition: attachment;filename="'.$filename.'"'); 
    header('Cache-Control: max-age=0'); 
    $objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5'); 
 
    $objWriter->save('php://output');
}

Kalau script anda sudah benar, maka akan menghasilkan file Excel seperti ini. (pada contoh ini saya mengambil data dari database Siswa).

 

Selesai

Demikian sekilas panduan bagaimana cara membaca dan membuat file Excel dengan CodeIgniter dan PHPExcel. Sederhana dan mudah bukan? So.. kalau ada framework CodeIgniter yang mudah, buat apa cari yang susah, hehehe.

Selamat mencoba dan berkarya, jangan lupa untuk share ke teman-teman.

 

 

Topik yang sedang hot:


Web hosting murah dan bagus

Cara Integrasi CodeIgniter dengan Library Template TWIG



CodeIgniter adalah framework yang ringan dan cepat, namun CodeIgniter tidak memiliki template engine yang lengkap seperti Blade pada Laravel. Namun demikian hal ini tidak menjadi persoalan, karena CodeIgniter bisa menggunakan template engine dari vendor lain (third-party), salah satunya adalah template engine TWIG.

TWIG adalah template engine yang cepat, aman dan fleksibel, dengan menggunakan TWIG kita tidak perlu menuliskan kode-kode PHP pada sebuah view di CodeIgniter. Cukup dengan menuliskan kode-kode yang disediakan TWIG, maka sebuah template dapat melakukan perulangan, mengubah format string, menyisipkan sub-template dan sebagainya (serupa dengan Blade pada Laravel). Untuk lebih jelasnya mengenai template engine TWIG, silahkan membaca di website resmi TWIG.

Cara Mengintegrasikan CodeIgniter dengan TWIG

Untuk dapat menggunakan CodeIgniter dengan TWIG, silahkan melakukan langkah-langkah sebagai berikut:

Download library TWIG di https://github.com/twigphp/Twig/releases , pilih yang versi v1.x , kemudian ekstrak dan taruh di dalam folder application/third_party

Download library CodeIgniter untuk TWIG di https://github.com/kenjis/codeigniter-ss-twig/releases kemudian ekstrak dan copy codeigniter-ss-twig/libraries/Twig.php ke dalam folder application/libraries

Buka file application/libraries/Twig.php dan hilangkan tanda comment (/* */) pada bagian atas dan bawah baris ini:

...
 
require_once APPPATH . 'third_party/Twig-1.xx.x/lib/Twig/Autoloader.php';
Twig_Autoloader::register();
 
...

Catatan: Sesuaikan Twig-1.xx.xx dengan nama folder instalasi TWIG anda.

Cara Menggunakan CodeIgniter dengan TWIG

Buatlah sebuah controller CodeIgniter dengan isi seperti ini:

class Demo extends CI_Controller {
 
    public function twig() {
        // load library Twig
        $this->load->library('twig');
 
        // contoh data
        $data["bahasa"] = ["Pascal","Basic","C/C++","Assembler","Cobol",
                           "Clipper","PHP","Python","Arduino"];
 
        // tampilkan template Twig + data
        $this->twig->display('demo', $data);
    }
 
}

Kemudian buatlah sebuah file contoh template utama dengan nama application/view/layout.twig:

(Referensi mengenai kode-kode template TWIG bisa dibaca di dokumentasi TWIG.

<!DOCTYPE html>
<html>
    <head>
        {% block head %}
            <title>{% block title %}{% endblock %}</title>
            <style>
                * { font-family: arial, sans-serif;}
                #footer { padding:20px; background:#eee; }
            </style>
        {% endblock %}
    </head>
    <body>
        <div id="content">{% block content %}{% endblock %}</div>
        <div id="footer">
            {% block footer %}
                Dibuat oleh <a href="http://blog.duniahost.com">http://blog.duniahost.com</a>
            {% endblock %}
        </div>
    </body>
</html>

Buatlah juga template lain yang berisi content halaman dengan nama application/view/demo.twig:

{% extends "layout.twig" %}
 
{% block title %}Demo CodeIgniter dan Twig{% endblock %}
{% block head %}
    {{ parent() }}
    <style type="text/css">
        li { color: red; padding: 2px; }
    </style>
{% endblock %}
{% block content %}
    <h1>Demo CodeIgniter & Twig</h1>
    <p>Bahasa pemrograman yang saya pelajari adalah:</p>
    <ul>
        {% for bhs in bahasa %}
            <li>{{ bhs|e }}</li>
        {% endfor %}
    </ul>
{% endblock %}

(Terlihat pada kedua file template di atas tidak ada pencantuman kode PHP, melakukan perulangan dan menyisipkan sub-template cukup dilakukan dengan menuliskan kode-kode template saja.)

Silahkan buka browser dan buka controller anda. Bila instalasi TWIG yang anda lakukan sudah benar, maka akan muncul halaman seperti ini:

Demikian cara mengintegrasikan CodeIgniter dengan template engine TWIG, ternyata menggunakan template engine TWIG pada CodeIgniter cukup mudah, langkah selanjutnya anda tinggal memperdalam fitur-fitur dan kode-kode template pada TWIG agar penggunaannya lebih maksimal.

Semoga dengan menggunakan template engine TWIG dapat membantu mempercepat pengerjaan proyek dan lebih produktif lagi dengan CodeIgniter. Selamat mencoba.

 

Topik yang sedang hot:


Web hosting murah dan bagus

Menggabungkan CodeIgniter dan MPDF untuk Membuat PDF

Membuat dokumen PDF dengan CodeIgniter ternyata tidak sulit. Dalam tulisan ini kita akan membahas cara menggabungkan atau mengintegrasikan CodeIgniter dengan library PDF yang cukup bagus yaitu mPDF. Bila hanya dengan PHP saja tanpa framework mudah, apalagi kalau pakai mPDF dengan CodeIgniter, mestinya akan lebih mudah lagi.

Baiklah, untuk mempersingkat waktu inilah langkah-langkah menggabungkan CodeIgniter dengan mPDF.

Download mPDF

Terlebih dahulu download library mPDF pada alamat ini: http://www.mpdf1.com/mpdf/index.php

Pada tulisan ini saya menggunakan mPDF 5.7

Copy Library mPDF ke dalam CodeIgniter

Setelah mPDF di extract, copy ke folder application/third_party

Maka hasilnya akan seperti ini:

Buat Library Baru

Buatlah sebuah library baru dengan nama file Mpdf.php (nama boleh beda, sesuka hati), dan isi dengan code sebagai berikut:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php 
if (!defined('BASEPATH')) exit('No direct script access allowed');
 
class Pdf {
 
	protected $CI;
 
	public function __construct()	{
 
		include_once APPPATH.'/third_party/mpdf/mpdf.php';
		ini_set('memory_limit','1024M');
 
        $CI = &get_instance();
		$CI->pdf = new mPDF($param);
 
		log_message('Debug', 'mPDF class is loaded.'); 
	}
 
}

Uji Coba Library

Sekarang saatnya uji coba library. Buatlah sebuah function di controller untuk uji coba, misalnya di dalam Welcome.php, ketik kode sebagai berikut:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
defined('BASEPATH') or exit('No direct script access allowed');
 
class Welcome extends CI_Controller
{
 
    //....
 
    public function cobapdf()
    {
        // Muat library PDF
        $this->load->library('pdf');
 
        // Buat HTML atau load dari view
        $html = "<div class='kotak' ".
                "style='border:2px solid #ccc; ".
                "padding: 20px; ".
                "background: #aaf;' ".
                ">".
                "<h1>Demo CodeIgniter dan mPDF. Mantap!</h1>".
                "<a href='http://duniahost.com'>Web Hosting</a>".
                "</div>"; 
 
        // Lakukan pengerjaan PDF
        $this->pdf->SetFooter($_SERVER['HTTP_HOST'].'|{PAGENO}|'.date(DATE_RFC822));
        $this->pdf->WriteHTML($html);
        $this->pdf->Output("output.pdf", 'I');
    }
}
 
//--- EOF

Hore Berhasil

Kalau langkah-langkah mengintegrasikan CodeIgniter dengan mPDF di atas sudah diikuti dengan benar, maka akan muncul hasilnya seperti ini:

Demikian panduan singkat tentang cara mengintegrasikan CodeIgniter dengan mPDF dalam rangka membuat file PDF. Sebagaimana kita ketahui format PDF sangat berguna dalam membuat laporan yang rapi dan portable. Mudah-mudahan tips ini bisa membantu pembaca dalam berkarya dengan pemrograman PHP, khususnya framework CodeIgniter.

Topik yang sedang hot:


Web hosting murah dan bagus