Codeigniter, Php, 💾 Yazılım

CodeIgniter ile MVC ve İlk Yapılandırma

Uzun süredir spagetti olarak adlandırılan ve devamlılığı sağlamakta zorlandığım bir yöntemle kod yazıyorum. Spagetti aslında bir yöntem değil, yazılım ile ilk kez tanışan meraklıların giriş için kullandıkları ve hızlıca aşılması gerekilen bir karmaşa.

Html, php, css, js vs…

Kodlar uzadıkça uzuyor ve belli bir süre sonra ciddi karmaşa oluşturuyor. Eğer bir fonksiyon dosyanız varsa bu dosya da çok fazla büyümüş oluyor.

Mvc’nin Faydası Nedir?

5000 satır kodluk bir projemiz var.

Bu projede bir sorunla karşılaştıysam hatayı ayıklama sürecim ne kadar zaman alır?

Spagetti ile saatlerimizi hatta günlerimizi alabilir, kodu okumak ve nerede işlem yaptığını anlamak oldukça güçtür. Bir standart olmadığından her yazılımcı kendi standartlarına göre kod yazar.

MVC ile;

Html, css, js
Php
Sql

Kodlarını farklı sayfalarda yazıyoruz. 

View = Html, css, js / Kullanıcının gördüğü her şey bir viewdir.
Controller = Php – Logical işlemler
Model = Sql 

Örneğin bir login işleminde,

View sayfasında login olmak isteyen bir kullanıcının işlemleri Controllera gider, Controller bu kullanıcının var olup olmadığını Model ‘a sorar. Modal SQL sorgularını yaptıktan sonra OK der ve Controllera gönderir. Controller tekrar View sayfasına dönmez. Anasayfaya yönlendirme yapar, eğer hatalı ise hata mesajı döndürür.

Codeigniter klasörleri arasında /application/ klasöründe çalışacağız.

Tüm işlemler aslında index.php üzerinden devam eder. 

Temel tanımlamalar burada, hata gösterme/göstermeme gibi ayarların yapıldığı yer de burada.

/application/ Klasörü

CacheCache sistemini aktif ettiğimizde cachelenen sayfaları buraya aktarır.
ConfigProjenin ayar dosyaları
ControllersMantıksal işlemleri yaptığımız yer,
Core
ErrorsError sayfaları oluşturmak istiyorsak burayı kullanabiliriz.
HelpersOlmazsa olmazlarımız, örneğin Codeigniter içerisinde düz php veya fonksiyonlar yazmak istediğimizde burayı kullanacağız
HooksSayfaları sıkıştıracağımız kodlarımızı yazacağımız bölüm
LanguagesÇoklu dil kullanıyorsak bu bölümde işlem yapacağız
LibrariesDışarıdan 3.parti classlar için. Örn: verot.net upload classını burada çalıştıracağız
Logs
Modelstüm modellerin (sql tanımlamalarının) olduğu kısım
ViewView, son kullanıcı ile etkileşime giren bölüm, tüm kullanıcı etkileşimleri burada olmalı.
Herhangi bir fonksiyona erişmek için $this-> kullanıyoruz.
$this->load->view(“test”);
$this -> Yükle -> View Klasörümdeki (test.php) sayfasını.
CodeIgniter Application klasörü öğelerinin tanımlamaları

View’a Değişken Göndermek

View’a gönderilen değişkenler Array olarak gider. Bunu View içerisinde foreach ile veya farklı yöntemlerle gösteririz. 

Ama unutmamamız gereken her zaman array ile gittiğidir.

$this->load->view("test", $arrayDegiskeni)

Metotlar ve Metotlara Erişim

http://localhost/codeigniter/controllerAdi/metotAdi/
http://localhost/codeigniter/welcome/getMessage/

Database’e kayıt atmak için bir model dosyası load etmek gerekir. 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir