teklif alın
teklif alın
Codeigniter 4 ile Haber Scripti Uygulaması

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>&copy; 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.


Yayınlanma Tarihi: Mart 16, 2020
BLOG’DA NELER VAR?
markanızı ziyaretçilerinize tanıtabileceğiniz en etkili ipuçları
  • İLETİŞİM BİLGİLERİ
  • Küçükbakkalköy Mah. ŞerifAli Cd.
    No:14 / 6 Ataşehir / İSTANBUL
  • 0850 304 13 02
  • [email protected]