Membuat Menu dengan Konsep OOP

imamrose · Aug 14, 2014
Permisi master mohon bantuannya saya baru belajar php nih, saya mau nyari referensi cara membuat menu dengan konsep oop..
biasanya para master disini kalo membuat menu gimana yaah ?? yang sekira nya mudah dipahami dan mudah dalam proses maintenance ??
biasanya aku kalo bikin menu kayak gini :
index.php
<html>
<head>
<title></title>
</head>
<body>
  <ul>
  <li><a href="?modul=home">Home</a></li>
  <li><a href="?modul=profil">Profil</a></li>
  <li><a href="?modul=tampil_buku">Tampil Buku</a></li>
  <li><a href="?modul=detail_buku">Detail BUku</a></li>
  <li><a href="?modul=edit_buku">Edit Buku</a></li>
  </ul>
<?php include "menu.php"; ?>
</body>
</html>
___________________________________________________
menu.php
<?php
if(isset($_GET['modul'])){
$mod = $_GET['modul'];
switch($mod){
  case "home": if(!file_exists("home.php"))die("Modul Dalam perbaikan");
  include "home.php";
  break;
  case "profil": if(!file_exists("profil.php"))die("Modul Dalam Perbaikan");
  include "profil.php";
  break;
  case "tampil_buku" or "detail_buku" or  "edit_buku": if(!file_exists("buku.php")) die("Modul Dalam Perbaikan");
  include "buku.php";
  break;
  default:
  include "home.php";
  break;
}
}
?>
___________________________________________________
buku.php
<?php
$mod = $_GET['modul'];
switch($mod){
  case "tampil_buku":
  echo "ini Tampil buku";
  break;
  case "detail_buku":
?>
ini detail buku
<?php
  break;
  case "edit_buku":
  echo "edit buku";
  break;
}
?>
___________________________________________________
Nah, kalo file yang di panggil di Switch nya di satu folder mah bisa ditampilkan, tapi kenapa yaa kalo file yang dipanggil di Switch nya itu ada di dalam folder lain tuh yang dieksekusi nya di "die" nya atau "Modul Dalam Perbaikan" ??
menurut master master disini yang lebih efektif dan efisien gimana yaah ??
mohon bantuannya master, saya baru belajar php :)
terimakasih sebelumnya..
Silahkan login untuk menjawab!
0
Loading...
Ellyx Christian · Aug 28, 2014 · 0 Suka · 0 Tidak Suka
Pertama saya harus bilang buang jauh jauh cara yang kamu pakai itu. Karena kurang aman dan susah di maintenance. Contoh hari ini kamu punya 10 menu, dan kamu bikin 10 switch case, besok tambah 20 menu bikin 20 switch case lagi begitu seterusnya sampai kamu jenuh dan berujung pada mengganti switch case manjadi if seperti:
<?php
$mod = $_GET['modul'];
if (file_exists($mod.'.php')){
	include $mod.'.php'; // disini letak tidak amannya!
} else {
	echo 'Modul tidak ada';
}
Sebenarnya masalahmu bukan pada membuat menu, tapi pada bagaimana menampilkan setiap halaman dengan tampilan yang sama. Dari pada membuat user mengakses index.php?module=buku dan index.php?module=profile kenapa tidak biarkan user mengakses buku.php dan profile.php dengan tampilan yang sama. Yang kamu perlukan adalah Templating System, kamu bisa pakai Smarty atau twig.
Cara yang paling bagus adalah beralih ke framework php, semua framework php punya templating system. Kamu bisa pakai cake, yii, zend, ci. Atau kalau pengen cara yang simple, bisa dilihat di http://www.myphptutorials.com/questions/membuat-template_573.html
0
Loading...
imamrose · Aug 28, 2014 · 0 Suka · 0 Tidak Suka
Terimakasih banyak paguru Ellyx Christian :) ..
jawabannya sangat membantu ;)