View
View'lar, ekran çıktılarının basıldığı HTML içerikli görünüm sayfalarıdır. /App/Views dizininde bulunurlar ve controller'lar tarafından yönetilirler.
Titan Framework, view katmanında Edge Template Engine altyapısını kullanır. Edge, Laravel'deki Blade Engine ile oldukça benzerlik göstermektedir ve aynı syntax yapısına sahiptir. Edge ile oluşturulacak view dosyaları .edge.php ya da .blade.php uzantılarından birini kullanmalıdır.
Edge Template Engine ile ilgili detaylı bilgi için kılavuzdaki Template (Edge) başlığını ziyaret edebilirsiniz.
View Oluşturma
View dosyaları /App/Views dizininde yer almalıdır. Aşağıda basit bir view örneği görülmektedir;
//--- [*] App/Views/home.edge.php ---//
<html>
<body>
<p>Merhaba , {{ $name }}</p>
</body>
</html>
View Çalıştırma
Bir controller içerisinde view çalıştırmak için öncelikle View kütüphanesi dahil edilmelidir. Daha sonra render() methodu ile istenen view render edilir.
Aşağıdaki örnekte, /App/Views dizininde bulunan sample.edge.php dosyası render ediliyor.
//--- [*] /App/Controller/Sample.php ---//
namespace App\Controllers;
use View;
class Sample
{
public function index()
{
View::render('sample');
}
}
View'a Veri Gönderme
View dosyalarına controller'lar üzerinde tanımlanan bir dizi değişken vasıtası ile veri gönderilebilir.
//--- [*] /App/Controller/Home.php ---//
namespace App\Controllers;
use View;
class Home
{
public function index()
{
$data = [
'baslik' => 'Sayfa başlığı',
'icerik' => 'Sayfa içeriği'
];
View::render('home', $data);
}
}
Yukarıdaki örnekte, $data dizisi ile gönderilen veriler, aşağıdaki gösterildiği gibi view dosyası içerisinde kullanılabilir;
//--- [*] /App/Views/home.edge.php ---//
<html>
<body>
<h1>{{ $baslik }} </h1>
<p>{{ $icerik }} </p>
</body>
</html>
Burada dikkat edilmesi gereken nokta, controller içerisinde dizi olarak tanımlanan verilerin, view dosyasında değişken olarak kullanılmasıdır.
Tema Seçimi
View katmanında kullanılacak olan temanın seçimi için theme() methodu kullanılır. Tema ismi parametre olarak gönderilir.
Bu durumda kullanılacak olan view dosyaları da /App/Views dizini içerisinde, parametre olarak verilen tema ile aynı isimde oluşturulan dizinde yer almalıdır.
View::theme('Blue')->render('home');
Yukarıdaki kullanım sonucunda, /App/Views/Blue dizini içerisindeki home.edge.php view dosyası sisteme dahil edilmiş olur.