Cevaplar
-
http://sevenkevins.com/ burayı incelemeni tavsiye ederim.Daha basit daha anlaşılırdır.http://codeigniter.com/user_guide/overview/appflow.html burdan göreceğin gibi rooter ile codeigniter neyin yükleneceğine karar verir ve yükler.Sana çok çok basit bir örnek vermek amacıyla mvc işleri popüler olmadan önce spagetti tarzı yazdığım bir yapıyı paylaşayım.Bütün istekleri htaccess ile index.php'ye yönlendirirsin.
ob_start(); @session_start(); define('ANA', realpath(dirname(__FILE__))); define('DS', DIRECTORY_SEPARATOR); define('APP', ANA . DS . 'app' . DS); define('GNL', ANA . DS . 'app' . DS.'genel'.DS); define('CLS', ANA . DS . 'class' . DS); define('INC',ANA.DS.'inc'.DS); include INC."inc.ayarlar.php"; $db= new PDO("mysql:host=".VTSUNUCU.";dbname=".VTISIM."",VTKULLANICI,VTPAROLA); $db->exec("SET NAMES 'utf8'"); $db->exec("SET CHARACTER SET utf8"); $db->exec("SET COLLATION_CONNECTION = 'utf8_general_ci'"); include INC."inc.fonksiyon.php"; include INC."inc.uri.php"; include INC."inc.kontrol.php"; if(url(1)=="cikis"){session_destroy();header("location:".URL);} if($giris!=TRUE || $uye!=TRUE){ include "app/giris/index.php"; }else{ if(url(2)=="q"): include "app/q.php"; else: include INC."inc.yol.php"; endif; } ob_end_flush();
önemli olan yol kısmıdır ;<? $yollar=array("hata","","site","cikis","sayfa","katilimci","bilesen"); if(in_array(url(1), $yollar)){ url(1)=='' ? $yol = 'genel' : $yol =url(1); $dosya = APP . $yol . DS .'default.php'; $control=APP . $yol . DS .$yol.'_control.php'; if(is_readable($dosya) == false){ $dosya = APP . 'hata' . DS . 'hata.php'; $control=APP . 'hata' . DS .'hata_control.php'; $yol = 'hata'; $is = 'hata'; } $js=""; $css=""; $title=""; include $control; include GNL."header.php"; include $dosya; include GNL."footer.php"; }else{ header("location:".URL."hata/aradiginiz-sayfa-bulunamadi"); }
Url parçalarını şu şekilde alırdım ;function url( $index = NULL ){ static $segments; if ( NULL === $segments ) { $segments = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ); $segments = explode( '/', $segments ); $segments = array_filter( $segments ); $segments = array_values( $segments ); } if ( NULL === $index ){ return '/' . implode( '/', $segments ); } $index = ( int ) $index - 1; return isset( $segments[$index] ) ? $segments[$index] : NULL; }
Tabi burda template yapısını kullanma gibi bir amacım yokmuş :) Bu şuanki frameworklerin en temel mantığıdır.Url segmentlerini alır ve onlara göre işlemler yaparlar.-
sharq
teşekkr ederim inceliyeceğim bnm kafamı karıştıran nokta mesela bi admin paneli yapıyorum makale yöneticisi kullanıcılar falna bnlar iöin controlelr'e dosya olştryorum olşturduğum classlar mesela
class makaleekle extends controller {}
burdaki makaleekle class'ını anasafada
$makale = new makaleekle;
böle çağrmak mantıklı gelmedi codeigniter'i inclediğimde get_instance(); gibi bi fonksiyon kullnmış ama pek anlayamadım galiba birazdaha bilgi birikimi yapmam lazım cevabınız için teşekkr ederim dediğim gibi inceleyip takldığım yeri yazacağım teşekkr ederim.11 yıl önce yazılmış
-