Codeigniter Date Helper Kullanımı

Codeigniter Captcha Kullanımı

Codeigniter Array Helperı Kullanımı

Codeigniter Controller’dan View Veri Aktarma

RainTPL PHP Template Engine Kullanımı

PHP Programlama Çarşamba Mayıs 16th, 2018
696 Görüntülenme

Bu konumuzda benimde yeni aşina olduğum ve akif olarak şuanda bir projede kullandığım sistem olan template engine öğreneceğiz.

Template Engine Nedir ?

Template engine çalıştığınız projede ki HTML dosyaları ve PHP dosyalarını ayrı tutmanıza yaramaktadır. Eğer daha önceden HTML uzantılı tema dosyalarınızın adını .PHP çevirip içerisine kod yazıyorsanız bunu yapmayacaksınız. Diğer bir husus yine belirttiğimiz gibi Front-End ile Back-End bir birinden ayrıldığı için eğer temanızı değiştirmek isterseniz hızlı bir şekilde bunu yapabileceksiniz.

Template Engine sistemlerinin bildiğim dezavantajlarından bir tanesi ufak bir performans kaybıda oluşturması fakat bu karmaşık kod yazmaktansa ve ilerde gelecek yazılımcıların proje içerisinde kaybolmasından ise template engine sistemleri kullanılabilir.

Neden RainTPL ?

Aslında benim için özel bir anlamı yok ilk öğrendiğim TPL olduğu için olabilir bunu paylaşmak istediğim. Tabi ön araştırma yaptım diğer TPL yazılımlarına göre daha performanslı çalışıyormuş ve kod kalabalığı daha az, tek bir class indirip rahatlıka kullabileceksiniz.

RainTPL Kullanımı

Değişkenler: Html dosyası içerisine bir değişken yollamak istiyorsanız

<?php
$var = 'Savaş Dersim Çelik';
$tpl->assign( 'isim', $var );
?>

Değişkenin Tema İçerisinde Kullanımı: Tanımlamış olduğumuz değişkeni tema içerisinde kullanmak isterseniz.

<div>Merhaba ben {$isim} aramıza hoş geldin </div>

Bir Arrayi Temaya Gönderme: Eğer elinizde ki bir diziyi temaya gönderip kullanmak isterseniz.

$haftalar = array( 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi' , 'Pazar');
$tpl->assign( "haftalar", $haftalar );
$user = array(
 array( 'name'=>'Jupiter', 'color'=>'yellow'),
 array( 'name'=>'Mars', 'color'=>'red' ),
 array( 'name'=>'Earth', 'color'=>'blue' )
);
$tpl->assign( "user", $user );

Çalışacak Dosya Belirleme: Değişkenlerimizi tanımladıktan sonra hangi dosyada bu değişkenlerimizi kullanacağımızı belirtmek için

$html = $tpl->draw( 'about', $return_string = true );
echo $html;

Cache Sistemi: Bu method ile dosyaları belirli bir süre boyunca HTML Cache yapabiliriz. Tek dezavantajı belirli bir değeri değil dosyayı cache yapmasıdır fakat onuda Cache ID belirleyip yeni değer olduğu zaman o Cache ID deki dosyayı silip tekrar aktif cache yaptırabiliriz. ( Bu açıklama selcuk.in sitesinden alındı. )

<?php
if( $cache = $tpl->cache( 'index', $expire_time = 300, $cache_id=null ) ){
    echo $cache;
} else {
    $tpl->draw( 'index' );
}
?>

Cache Dosyalarını Silme: Eğer cache dosyalarını silmek istiyorsanız

<?php
 array_map( "unlink", glob( raintpl::$cache_dir . "*.rtpl.php" ) );
?>

Tema Dosya Klasörü: Temanıza ait dosyaların bulunduğu klasörü belirlemek için

<?php
 raintpl::configure( 'tpl_dir', 'view/' );
?>

Cache Dosya Klasörü: Cache klasörüne ait klasörü değiştirmek isterseniz.

<?php
 raintpl::configure( 'cache_dir', 'cache/' );
?>

Proje Url: Çalışmakta olduğunuz projenin url adresini belirtmek için.

<?php
 raintpl::configure( 'base_url', 'http://webinyo.com/');
?>

Tema Dosyaları Uzantısı: Temanıza ait dosyaların uzantısını değiştirmek isterseniz.

<?php
 raintpl::configure('tpl_ext', 'html');
?>

Front-End Developer IF Yapısı: Eğer tema dosyası içerisinde if yapısı kullanmanız gerekiyorsa

{if="$isim == 'Savaş'} Evet ben savaş memnun oldum {else} Hayır beni başkası ile karıştırıyorsun sanırım {/if}

Front-End Developer Döngü: Eğer tema dosyanızın içerisinde for, foreach gibi döngüler kurmanız gerekiyorsa

{loop="kisiler"}
Merhaba {$value.isim} sen {$value.yas} yaşındasın.
{/loop}

Başka Bir HTML Dosya’yı Dahil Etme: Eğer projenizi head, header, sidebar gibi parçaladıysanız kesinlikle işinize yarayacak.

{include="page"}
Yorumlar

Henüz hiç yorum yapılmamış.

Benzer İçerikler