Codeigniter 4 sürümünün stabil versiyonu çıkmış durumda.Artık codeigniter modern framework statüsüne erişmiş hale geldi.Güncel composerlar ile birlikte kullanabilir ve kurulum yapabilirsiniz.Codeigniter 4 sürümüne aşağıda ki indirme linkinden erişebilirsiniz.
Codeigniter 4 indir: https://codeigniter.com/download
Codeigniter 4 Dökümantasyon: https://codeigniter4.github.io/userguide/
Codeigniter 4 ile İlk Uygulama
İlk önce Application/Controllers klasörümüze kontrol dosyasını açıyoruz.İsmini Pages.php yapıyoruz.
<?php namespace App\Controllers;
use CodeIgniter\Controller;
class Pages extends Controller {
public function index()
{
return view('welcome_message');
}
public function showme($page = 'home')
{
if ( ! is_file(APPPATH.'/Views/pages/'.$page.'.php'))
{
// Whoops, we don't have a page for that!
throw new \CodeIgniter\Exceptions\PageNotFoundException($page);
}
$data['title'] = ucfirst($page); // Capitalize the first letter
echo view('templates/header', $data);
echo view('pages/'.$page, $data);
echo view('templates/footer', $data);
}
app/Views/templates/ klasörüne header.php isminde dosya açıyoruz ve içine aşağıda ki kodu ekliyoruz.
<!doctype html>
<html>
<head>
<title>CodeIgniter Tutorial</title>
</head>
<body>
<h1><?= $title; ?></h1>
<em>© 2019</em>
</body>
</html>
config/route.php dosyamıza ise aşağıda ki kodları ekliyoruz.
$routes->get('/', 'Home::index');
$routes->get('(:any)', 'Pages::showme/$1');
Ve ilk uygulamamız hazır.Uygulamamıza http://localhost/codeigniter/Home şeklinde erişebilirsiniz.
Codeigniter 4 ile Basit Haber Script Uygulaması
Aşağıda ki sql kodunu codeigniter veritabanımızda çalıştırıyoruz.
CREATE TABLE news (
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(128) NOT NULL,
slug varchar(128) NOT NULL,
body text NOT NULL,
PRIMARY KEY (id),
KEY slug (slug)
);
INSERT INTO news VALUES
(1,'Elvis sighted','elvis-sighted','Elvis was sighted at the Podunk internet cafe. It looked like he was writing a CodeIgniter app.'),
(2,'Say it isn\'t so!','say-it-isnt-so','Scientists conclude that some programmers have a sense of humor.'),
(3,'Caffeination, Yes!','caffeination-yes','World\'s largest coffee shop open onsite nested coffee shop for staff only.');
Daha sonra app/models klasöründe NewsModel.php adında model dosyamızı oluşturarak aşağıda ki kodu içine ekliyoruz.
<?php namespace App\Models;
use CodeIgniter\Model;
class NewsModel extends Model
{
protected $table = 'news';
}
public function getNews($slug = false)
{
if ($slug === false)
{
return $this->findAll();
}
return $this->asArray()
->where(['slug' => $slug])
->first();
}
app/Controllers klasörüne girip News.php adında kontrol dosyası oluşturuyoruz ve aşağıda ki kodu içine ekliyoruz.
<?php namespace App\Controllers;
use App\Models\NewsModel;
use CodeIgniter\Controller;
class News extends Controller
{
public function index()
{
$model = new NewsModel();
$data = [
'news' => $model->getNews(),
'title' => 'News archive',
];
echo view('templates/header', $data);
echo view('news/overview', $data);
echo view('templates/footer');
}
public function view($slug = NULL)
{
$model = new NewsModel();
$data['news'] = $model->getNews($slug);
if (empty($data['news']))
{
throw new \CodeIgniter\Exceptions\PageNotFoundException('Cannot find the news item: '. $slug);
}
$data['title'] = $data['news']['title'];
echo view('templates/header', $data);
echo view('news/view', $data);
echo view('templates/footer');
}
}
Son olarak app/Views/ klasörüne news adında yeni bir klasör oluşturup içine overview.php isimli bir dosya oluşturuyoruz ve içine aşağıda ki kodu ekliyoruz.
<h2><?= $title ?></h2>
<?php if (! empty($news) && is_array($news)) : ?>
<?php foreach ($news as $news_item): ?>
<h3><?= $news_item['title'] ?></h3>
<div class="main">
<?= $news_item['body'] ?>
</div>
<p><a href="<?= '/news/'.$news_item['slug'] ?>">View article</a></p>
<?php endforeach; ?>
<?php else : ?>
<h3>No News</h3>
<p>Unable to find any news for you.</p>
<?php endif ?>
Yönlendirme için ise route.php dosyamıza aşağıda ki kodu ekliyoruz.
$routes->get('news/(:segment)', 'News::view/$1');
$routes->get('news', 'News::index');
$routes->get('(:any)', 'Pages::showme/$1');
Uygulamamıza erişmek için localhost/codeigniter4/news adresine giriyoruz.
Merhabalar, Figma'da sıfırdan bir inşaat firması için proje tanıtımı yapan landing page tasarım eğitimi yapacağız. Serenity Evleri projesi, Sakarya'nın Kocaali...
Dünyanın en çok satan e-ticaret altyapısı Shopify için bir tasarımcıya mı ihtiyacınız var? Ozaman doğru yerdesiniz. Shopify 175 ülke'de 5milyondan...
Kullanıcılarınızın beklentilerini karşılayan mobil uygulama tasarımını birlikte oluşturalım. Akıllı telefon kullanıcıları, mobil uygulamaların son derece kolay kullanımlı ve aynı zamanda...
Her yıl gelişen teknolojiyle birlikte SaaS çözümü üreten startup firmalarını görmekteyiz. Yenilenen teknolojiyle insan hayatını kolaylaştırmayı ve iş yükünü azaltmayı...
Ülkemizde turizm sektörünün çeşitlendirilmesi ve turizmin 12 aya yayılmasına katkıda bulunan sağlık turizmi önemli bir ticari değere sahiptir.Sağlık turizminde öne...
Merhabalar, bugün sizlere Kurumsaltasarım markasının tüm tasarım süreçlerini yönettiği ve işinize çok yarayacak tamamen ücretsiz eticaret sitesi oluşturabileceğiniz bir projeden...