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.

  1. View Oluşturma
  2. View Çalıştırma
  3. View'a Veri Gönderme
  4. Tema (Şablon) Seçimi

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.