Kayıtlar

Aralık, 2018 tarihine ait yayınlar gösteriliyor

null kontrolü

isset($data) ...

dosya yükleme

Diğer server-side teknolojilerdeki gibi form'da attribute olarak enctype="multipart/form-data" yapıyoruz... form elemanımız <input type="file" name="file" /> php kodumuz $config["upload_path"] = "uploads/"; $config["allowed_types"] = "gif|jpg|png"; // veya "*" $config["max_size"] = "100"; // mb cinsinden $config["max_width"] = "1024"; // pixel cinsinden $config["max_height"] = "768"; uploads klasörü konum olarak application klasörünün bir üstünü yani kök klasörü göstermekte. ardından upload kütüphanesini bu ayarlarla yükle $this->load->library("upload", $config); ardından kendi methodunun içinde if ($this->upload->do_upload("file")) {     // başarılı } else {     // başarısız } hata oluşursa hata mesajını göstermek için echo $this->upload->display_errors();

session kullanımı

Önce autoload.php dosyasından libraries'e "session" öğesini ekle. sonra config.php dosyasındaki "encryption_key" öğesini ayarla. Değer karmaşık bir şifre olabilir. Mesela "ShRekEsek123**" gibi. veri saklamak için $this->session->set_userdata("username", "dogancoruh@gmail.com"); veri olarak array de saklayabilirsin $usernames = array("dogancoruh@gmail.com", "cuneytarkin@gmail.com"); $this->session->set_userdata("usernames", $usernames); okuman için echo $this->session->userdata("username"); tüm indisleri okuman için echo $this->session->all_userdata(); kaldırmak için $this->session->unset("username");

helper tanımlama

helpers klasörü altına hash_helper.php oluştur. dosyanın içine <?php function sha1($text) {     return blabla; } ekle. heryerden kullanabilmek için autoload.php dosyasının helper array değerine "hash" öğesini ekle.

stdClass kullanımı ve viewData

$viewData = new stdClass(); $viewData->param1 = "merhaba"; $viewData->param2 = "nasılsın?";

db insert, update, delete

insert yapmak için $data = array(     "first_name" => "Doğan",     "last_name" => "Çoruh ); $this->db->insert("customers", $data); update için $data = array(     "first_name", "Kemal",     "last_name", "Sunal" ); $this->db->where("id", 4); $this->db->update("customers", $data); delete için $this->where("id", 4); $this->delete("customers"); son eklenen kayıdın id'sini almak için $id = $this->db->insert_id();

db ayarları ve select

1) database.php parametrelerini doldur. bağlanma sorunu olursa "dbdriver" parametresini mysqli'ye çevir. 2) autoload.php dosyasında $autoload["libraries"] = array("database"); 'e çevir sorgu sisteminin adı "active record"... https://codeigniter.com/userguide2/database/active_record.html tablonun tüm satırlarını çekmek için $rows = $this->db->get("customers")->result(); sonuçlardan tek satır çekmek için $rows = $this->db->get("customers")->row(); view'da yazdırmak için <?php foreach ($row as $row) {?> <?php echo $row->first_name; ?> <?php }?> sorgu çekmek için $rows = $this->db->where("first_name", "Doğan")->get("customers")->result(); veya $rows = $this->db->where("age >", 10)->where("budget >", 10000)->get("customers")->result(); veya $rows   = $this->db...

route kullanımı

routes.php dosyasına $route["alias"] = "controller/index"; veya $route["alias/(.*)"] = "controller/$1";

base_url kullanımı

config.php $config["base_url"] = "http://domain.com/site"; manuel yükleme $this->load->helper("url"); autoload.php $autoload['helper'] = array("url"); html kodunda istenilen yerde <?php echo base_url(); ?> yada <?php echo base_url("controller/method"); ?>

Form parametresi alma

html kodu <form action="" method="post">     <input type="text" name="first_name" /> </form> php kodu $first_name = $this->input->post("first_name");

string birleştirme

print($value . "<br />");

url parametresi okuma

1. yöntem public function customer($first_name, $last_name) {     print($first_name);     print($last_name); } 2. yöntem public function customer() {     $controller_name = $this->uri->segment(1);     $method_name = $this->uri->segment(2);     $first_name = $this->uri->segment(3);     $last_name = $this->uri->segment(4); }

View'a veri aktarma

Controller sınıfınızda $viewData adında bir array oluşturun ve içini birkaç şeyle doldurun. $viewData = array(); $viewData["value1"] = 5; $viewData["value2"] = 7; daha sonra controller metodunuz içinde view'ı yüklerken parametre olarak $viewData'yı verin. $this->load->view("my_view", $viewData); ardından öteki tarafta bu değerlere direkt ulaşım sağlayabilirsiniz. Codeigniter size verdiğiniz $viewData array'inin içindeki elemanları view içinde değişkenlere çevirerek sunuyor... yani view içersinde print($value1); şeklinde çıktı alabilirsiniz.

Standart array forach döngüsü

foreach($customers as $customer) {     print($customer["first_name"]); }

Inline array tanımlama

$customers = array(     array(         "first_name" => "Doğan",         "last_name" => "Çoruh     ),     array(         "first_name" => "Cüneyt",         "last_name" => "Arkın"     ) );

Yeni controller'lar için .htaccess dosyasıyla URL Rewriting...

En dıştaki license.txt dosyasının yanına yeni bir .htaccess dosyası oluşturup içine aşağıdakileri ekleyin bu kadar :) RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]