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ü
Cache | Cache sistemini aktif ettiğimizde cachelenen sayfaları buraya aktarır. |
Config | Projenin ayar dosyaları |
Controllers | Mantıksal işlemleri yaptığımız yer, |
Core | |
Errors | Error sayfaları oluşturmak istiyorsak burayı kullanabiliriz. |
Helpers | Olmazsa olmazlarımız, örneğin Codeigniter içerisinde düz php veya fonksiyonlar yazmak istediğimizde burayı kullanacağız |
Hooks | Sayfaları 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 |
Libraries | Dışarıdan 3.parti classlar için. Örn: verot.net upload classını burada çalıştıracağız |
Logs | |
Models | tüm modellerin (sql tanımlamalarının) olduğu kısım |
View | View, 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ı. |
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.
Ücretsiz Senet Yazdırma Programı
MacOS için Httrack Nasıl Kurulur?
SEO Nedir?
MacOS İşletim Sistemi ve Macbook Pro
Ücretsiz Senet Yazdırma Programı