[Latest News][6]

Web Dersleri
Web Scriptleri
Web Temaları

Codeigniter Ders - 1 -


Codeigniter Ders - 1 -


Codeigniter ve MVC framework ler hakkında tecrübesi olmayanlar için öğrenme süreci biraz karışık olabilir. Yerel web sunucusuna kurulum ve çalışma mantığını adım adım anlatıyorum ;
  • Codeigniter'ı http://codeigniter.com 'dan indirip , web sunucusunun kök dizinine kopyalıyorum. ( Örnek:htdocs/codeigniter_2.1.1 )
  • Klasör ismini proje ismi olarak değiştiriyorum ( Örnek: webdersleri) ve application/config.php içerisindeki base_url ve index_page i aşağıdaki gibi değiştiriyorum.

$config['base_url']= 'http://localhost/webdersleri/';
$config['index_page'] = '';
 
  • Proje kök dizininde .htaccess dosyası oluşturup gelen isteklerin codeigniter'ın gerekli işlemleri yaptığı index.php ye yönlenmesini , fakat direkt olarak erişilmesini istediğimiz css/js/resimler gibi klasörleribu kural dışında tutması gerektiğini belirtiyorum. Bu kuralları yazmamın sebebi codeigniter ın çalışma mantığından kaynaklanıyor. Hazırlanan controller lar index.php üzerinden çağırılıyor. ( Örnek , http://localhost/webdersleri/index.php/controller_ismi ) Adres içerisinde controller lara ulaşılırken index.php yazılmasını istemediğimden aşağıdaki kuralları .htaccess dosyası içerisine yazıyorum.

RewriteEngine on
RewriteCond $1 !^(index\.php|favicon.ico|images|img|css|js|robots\.txt)
RewriteRule ^(.*)$ /webdersleri/index.php/$1 [L]
 
  • Bu ayarlardan sonra ilk controller'ımı yazabilirim. Controller'ı application/controllers klasörü altında yazıyorum. Dosya ismi ile controller sınıfının ismi aynı , fakat sınıfın isminin ilk karakteri büyük harfle yazılmalı. main.php içerisinde yazdığım örnek controller'ın kodları ;

  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. class Main extends CI_Controller {
  3. public function __construct()
  4. {
  5. parent::__construct();
  6. }
  7. public function index()
  8. {
  9. }
  10. }
İlk satırdaki kod , bu sınıfa tarayıcı üzerinden direkt ulaşımı engelliyor. BASEPATH , codeigniter ın kök dizinindeki index.php içinde tanımlanıyor , index.php üzerinden gidilmiyorsa aşağısındaki sınıfın kodları çalıştırılmayacak.
İkinci satırda Main isimli sınıfı , extends ile CI_Controller ın genişletilmiş şekli olarak tanımlıyoruz.
__construct() içerisindeki parent::__construct(); ı yazmamızın nedeni , extends kullanarak genişlettiğimiz ebeveyn sınıfın constructor ının kendiliğinden çağırılmıyor olması.
Sonrasında oluşturduğumuz index() fonksiyonu ise herhangi bir parametre almadan çağırılan controller'ın çalıştırdığı metod.
URL ile codeigniter'ın çalışma mantığı şu şekilde ;
Standart kurulum sonrası ;
http://abcde.com/index.php/controller_ismi/controller_icindeki_metod/ilk_parametre/ikinci_parametre
Bir sonraki videoda view oluşturmayı ve controller içerisinden view i yüklemeyi göstericem. İyi çalışmalar..


Video Linki

About Author Mohamed Abu 'l-Gharaniq

when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries.

Hiç yorum yok:

Yorum Gönder

Toplam Sayfa Görüntüleme Sayısı

Start typing and press Enter to search