Kategori: PHP

Konfigurasi HMVC untuk Codeigniter 3

HMVC singkatan dari Hierarichal Model View Controller adalah pengembangan dari konsep MVC (Model View Controller) yang diimplementasikan secara hierarkis, sehingga disetiap module memiliki MVC sendiri atau tidak. Berikut ini adalah perbedaan struktur MVC dan HMVC:

  • Struktur MVC
    • applications/
      • controllers/
      • models/
      • views/
  • Struktur HMVC
    • applications/
      • modules/
        • user/
          • models/
          • views/
          • controllers/
        • salesorder
          • models/
          • views/
          • controllers/

Didalam folder modules terdapat user dan salesorder, didalamnya terdapat folder models, views dan controllers, seperti inilah konsep HMVC.

Beberapa kelebihan dari HMVC adalah

  1. Adanya konsep modular, sehingga lebih mudah ketika membuat aplikasi yang besar dan dibagi menjadi modul-modul kecil.
  2. Lebih mudah saat pengembangan dan maintenance (perawatan).
  3. Teamwork dan pembagian kerja lebih mudah dan ringan.

Artikel sebagai catatan kami saat melakukan konfigurasi HMVC di framework PHP Codeigniter versi 3. Untuk mendownload Codeigniter 3 ada disini dan untuk mendownload HMVC extension ada disini.

Berikut langkah-langkah Konfigurasi HMVC untuk Codeigniter 3 :

  1. Ekstrak framework Codeigniter 3 dan pindahkan ke webroot folder, untuk LAMP di ubuntu server 14.04 ada di /var/www/html/. Dan dengan nama folder ci3, sehingga ketika diakses dari web browser alamat web menjadi http://localhost/ci3/.
  2. Ekstrak HMVC Extention. Hasil ekstrak extenstion terdapat folder core dan third_party.
  3. Masukkan core dan third_party kedalam folder applications milik Codeigniter 3 sehingga struktur folder applications menjadi seperti ini:
    - applications/
    -- core/
    ---- MY_Loader.php
    ---- MY_Router.php
    -- third_party/
    ---- MX/
    ------ Base.php
    ------ Ci.php
    ------ Config.php
    ------ Controller.php
    ------ Lang.php
    ------ Loader.php
    ------ Modules.php
    ------ Router.php
    
  4. Konfigurasi HMVC sudah dilakukan selanjutnya kita lakukan test apakah sudah bisa digunakan atau tidak.

Berikut langkath-langkah Tes HMVC untuk Codeigniter 3:

  1. Buatlah folder modules di dalam folder applications.
    - applications/
    -- core/
    -- third_party/
    -- modules/
    
  2. Selanjutnya didalam folder modules buat folder test, kemudian didalam folder test buatlah tiga folder masing-masing dengan nama models, views, dan controllers.
    - applications/
    -- core/
    -- third_party/
    -- modules/
    --- test/
    ---- models/
    ---- views/
    ---- controllers/
    
  3. Di dalam folder controllers buatlah file controller dengan nama calass Test.php dengan isi file sebagai berikut:
     class Test extends CI_Controller{
        public function __construct() {
            parent::__construct();
        }
        
        public function index() {
            echo "<h1>Tes Konfigurasi HMVC</h1>";
            echo "<p>Modul ini adalah modul HMVC pertama saya</p>";
            echo "<p>Lokasi file ada di applications/modules/test/controllers/Test.php</p>";
        }
    }
    
  4. Tes class Test dengan mengaksesnya di web browser dengan alamat http://localhost/ci3/index.php/test. Jika nama file controller dan nama folder sama maka saat mengaksesnya hanya menggunakan nama folder.
  5. Jika pada web browser ditamplikan seperti hasil dibawah maka tes dan konfigurasi HMVC untuk Codeigniter 3 telah berhasil.
    <h1>Tes Konfigurasi HMVC</h1>
    <p>Modul ini adalah modul HMVC pertama saya</p>
    <p>Lokasi file ada di applications/modules/test/controllers/Test.php</p>

Di internet sudah banyak artikel seperti yang kami tulis ini, kami hanya sekedar berbagai dari pengalaman kami saat mengkonfigurasi HMVC untuk Codeigniter 3.

Semoga Bermanfaat.

 

setting htaccess untuk redirect https codeigniter

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HOST_NAME}%{REQUEST_URI} [R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1

Penjelasan:

RewriteCond %{HTTPS} off

Cek apakah https aktif atau tidak, apakah kita request menggunakan http:// ataukah https://. Jika menggunakan http:// maka redirect ke https:// melalui rule dibaris selanjutnya. yaitu:

RewriteRule ^(.*)$ https://%{HOST_NAME}%{REQUEST_URI} [R=301]

Pada baris ini:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1

menghilangkan index.php dari url codeigniter. Default-nya url codeigniter adalah  http://namadomain.tld/index.php/controller/param atau http://namadomain.tld/index.php?/controller/param. Dan dengan rule di atas url menjadi http://namadomain.tld/controller/param. Pada artikel ini kami hanya menjelaskan isi file htaccess, dan agar htaccess ini bekerja perlu dilakukan beberapa perubahan di file config.php dan route.php codeigniter.

Semoga bermanfaat …

MaxArray()


<?php
function MaxArray($arr){
$max = 0;
foreach($arr as $row){
if(is_array($row)){
$max = MaxArray($row);
} else {
if($max < $row){
$max = $row;
}
}
}
return $max;
}
$arr = array(array(141,151,161), 2, 3, array(101, 202, array(303,404)));
echo MaxArray($arr);
?>

Corat-coret 06 – jquery.live()

Dengan menggunakan jquery.live():

$(".tombol_dgn").live("click", function(){
$('#dgn_live').after("<button class='tombol_dgn'>Tombol dengan live</button>");
});

Dengan menggunakan jquery.click():

$(".tombol_bkn").click(function(){
$('#bkn_live').after("<button class='tombol_bkn'>Tombol tanpa live</button>");
});

Skrip lengkap untuk demo:

<html>
<head>
<title>Live Jquery</title>
<script src='jquery.js' type='text/javascript'></script>
<script type='text/javascript'>
$(document).ready(function(){
$(".tombol_dgn").live("click", function(){
$('#dgn_live').after("<button class='tombol_dgn'>Tombol dengan live</button>");
});

$(".tombol_bkn").click(function(){
$('#bkn_live').after("<button class='tombol_bkn'>Tombol tanpa live</button>");
});
});
</script>
</head>
<body>
<div id='dgn_live'>
<button class='tombol_dgn'>Tombol dengan live</button>
</div>
<div id='bkn_live'>
<button class='tombol_bkn'>Tombol tanpa live</button>
</div>
</body>
</html>

Lihat Demo

Catatanku untuk penulisan kode php

Penulisan kode sumber php harus standard, karena memang sudah ada standard yang mengaturnya. Tujuannya adalah agar kode sumber php tersebut mudah dibaca oleh programmer lain selain programmer yang membuat. Standard penulisan kode tidak hanya ada di dunia PHP namun juga didunia bahasa pemrograman lain, menurutku karena keahlian memrogram adalah hal teknis, dan hal teknis selalu memiliki standard agar bersifat global apalagi kode sumber tersebut merupakan kode sumber terbuka (open source). Selain mudah dibaca oleh programmer lainnya kode sumber kita juga terlihat rapi. Kami akan menyampaikan beberapa standard penulisan kode sumber yang kami ketahui, antara lain:

– Penamaan Class

Contoh yang benar:


class GeneralLedger {
   function __construct(){

   }
}

class General_Ledger{
   function __construct(){

   }
}

Contoh yang salah:

class generalledger {
    function __construct(){

    }
}

– Penamaan Private dan Public Method

Contoh yang benar (Private):

_purchase_order()
{

}

Contoh yang benar (Public):

purchase_order()
{

}

– Penamaan Function

Contoh yang benar:

function get_picture()
function init_camera()

Contoh yang salah:

function initcamera()
function initCamera()
function getpicturejpeg()
function getPictureJpeg()
function get_picture_jpeg_from_camera()

– Penamaan Variable

Contoh yang benar:

for ($j = 0; $j < 10; $j++)
$str
$temporary
$user_id
$last_page

Contoh yang salah:

$j = 'foo';
$Str
$bufferedText
$groupid
$name_of_last_city_used

– Penamaan Konstanta

Contoh yang benar:

MY_CONSTANT
NEWLINE
SOFTWARE_FULL_VERSION

Contoh yang salah:

mYConstant
newline
SOFTWARE_full_version

– Penulisan TRUE, FALSE dan NULL

Contoh yang benar:

if ($payment == TRUE)
$credit = FALSE;
function set_payment($payment = FALSE)

Contoh yang salah:

if ($payment == true)
$credit = false;
function set_payment($payment = false)

 

Itu adalah beberapa standard penulisan kode sumber php yang kami ketahui, semoga bermanfaat disaat kami lupa.

Import Project SVN [eclipse] dari Repository

Melanjutkan tulisan berjudul Subversive Eclipse, setelah subversive eclipse terinstall selanjutnya adalah melakukan import project svn dari repository svn server. Berikut langkah-langkahnya:

Import Project SVN dari Repository

  • Buat Project baru di File > New > PHP Project.
pilih berkas
Membuat project baru
  • Pilih folder yang akan digunakan sebagai folder project.
Pilih Folder
Pilih folder
Pilih Folder
Pilh Folder
  • Setelah project tercipta, klik kanan pada project, pilih Import.
Pilih project > import
Pilih project > import
Pilih SVN Project
Pilih SVN Project
  • Pilih “Use existing repository location:”.
Pilih "Use existing repository location:"
Pilih "Use existing repository location:"
  • Pilih repository yang dikehendaki. Klik Next. Klik Finish.
Pilih "Use existing repository location:"
Pilih "Use existing repository location:"
  • Maka akan keluar window Check Out As, pilih “Check out as a folder into existing project”.
pilih "Check out as a folder into existing project"
pilih "Check out as a folder into existing project"
  • Klik Next, Pilih project yang dikehendaki untuk di import source dari SVN server/repository.
Pilih project yang dikehendaki untuk di import source dari SVN server/repository
Pilih project yang dikehendaki untuk di import source dari SVN server/repository
  • Klik Finish. Tunggu beberapa saat karena eclipse sedang men-check out source.
Tunggu beberapa saat karena eclipse sedang men-check out source
Tunggu beberapa saat karena eclipse sedang men-check out source
Hasilnya
Hasilnya

Cara Lainnya:

  1. Klik kanan di Tab Workspace. Pilih “Import…”, kemudian keluar window Import, pilih folder SVN > Project from SVN.
  2. Klik Next, pilih “Use existing repository location:” dan pilih svn repository yang dikehendaki.
  3. Klik Next, Pilih Head Revision, Klik Next.
  4. Klik Finish.
  5. Muncul window “Check Out As”.
  6. Pilih “Check out as a project with the name specified:”, masukkan nama project yang digunakan untuk source dari svn repository ini. Klik Next.
  7. Hilangkan centang “Use default workspace location”, kemudian pilih lokasi folder yang dikehendaki.
  8. Klik Finish. Tunggu proses yang sedang berlangsung.

Selesai, walhamdulillah.

Subversive Eclipse

Setelah instalasi SVN server, maka para programmer (pengguna eclipse) untuk dapat “kerja bareng” perlu memasang subversive di mesinnya. Berikut cara instalasi subversive eclipse di mesin linux Slackware dan Ubuntu:

Instalasi Subversive di Eclipse

Langkah 1 - Memasukkan link subversive

Langkah 2 - Tekan tombol Add untuk menyimpan URL subversive

  • Lakukan pencarian dengan kata kunci “subversive”, lihat gambar agar lebih jelas.

Langkah 3 - Hasil Pencarian dengan kata kunci "subversion"

  • Maka akan keluar beberapa hasil pencarian salah satunya adalah “Collaboration”, centang Collaboration dan subnya.

  • Kemudian klik Next, Next lagi, dan pilih “I Accept the term … “.
  • Kemudian klik Finish.