Slim Framework belkide PHP Micro Framework kategorisinde en iyilerinden demiş olsam abartıyor olmam, çünkü kullanımı gerçekten çok kolay, controller/model gibi özellikleri ayrı ayrı sınıflandırarak sunmak yerine çalışma sistemini oldukça hafifletmişler.
Controller yok demişken route temeli üzerine çalışma prensibi vardır, az sonra örneklere geçeceğiz ancak Slim Frameworkun çalışabilmesi için sistem gereksinimlerini hatırlayalım ;
- PHP >= 5.3.0
- mcrypt (opsiyonel, ihtiyaç dahilinde aktif olması gereklidir.)
Kurulum Kullanım
Slim Framework güncel sürümü edinmek için ilgili adrese uğruyor ve dosyaları indiriyoruz
İndirdiğiniz dosyalar içerisinde .htaccess ve Slim klasörü hariç olmak üzere geri kalan dosya ve klasörleri kaldırabilirsiniz.,
Kullanım kolay dedik ancak ne kadar kolay ?
Local sunucuda ve Slim isminde bir klasör içinde çalıştığınızı varsayarak , dosyalarınızın bulunduğu dizine bir index.php dosyası oluşturmanız gerekli.
index.php içeriği
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
// code here..
$app->run();
?>
Sadece temel çekirdek kodlarımız bunlar, oldukça basit!
Route demiştik, bakalım nasıl bir kolaylık sunuyor ?
>$app->get('/', function () {echo "Default Route";
});
Hiçbir işlem yapmadan bu kodları çalıştırdığınızda ekrana Default Route mesajının geldiğini göreceksiniz.
Route örnekleri devam edelim
localhost/Slim/hello
$app->get('/hello', function () {echo "Hello Route";
});
Parametre göndermek
localhost/Slim/hello/world
$app->get('/hello/:name', function ($name) {echo "Hello {$name}";
});
Route kısmını anladığınızı varsayıyorum ve view yani görünüm kısmına geçiyorum
view kısmı include mantığı ile hemen hemen aynı çalışıyor ve değer gönderebiliyorsunuz.
template isminde bir klasör foo.php adında bir dosya oluşturun.
foo.php içeriği
Route fonksiyonumuz
$app->get('/view/:id', function ($id) use ($app) {
$app->render('foo.php', array('id' => $id));
});
localhost/Slim/view/1453
ekran çıktısı 1453
name.php adındaki dosyamıza bir değişken gönderelim.
$app->get('/name', function () use ($app) {
$app->render('name.php', array('name' => 'Oğuz KOÇ'));
});
Aynı mantık ile belirli sınıflardan veya fonksiyonlardan çalışmalarınızı yapabilirsiniz.
$app->get('/test', 'test');
function test(){
$data = array(
'title' => 'Test Page',
);
$app->render('about.php', $data);
}
Evet genel çalışma prensibi bu şekildedir, PHP merakınız var ise yeni teknolojiler denemeyi seviyorsanız mutlaka denemenizi öneriyorum.
Özellikleri sadece bunlar ile kısıtlı değil, resmi sitesinden dokümanlar oldukça detaylı ve anlaşılır yazılmış, bol bol okuyup pratik yaparak çalışmalarınızı daha hızlı ve verimli gerçekleştirebilirsiniz.
http://www.slimframework.com
http://docs.slimframework.com/
Temel özellikler kullanılarak oluşturulmuş demo için buradan
Çalışma dosyalarını indirmek için buradan
Çalışmalarınızda başarılar.
Oğuz KOÇ
Bu İçeriğe Ulaşmak için Arama Motorlarında Şu Şekilde Arama Yapıyorlar :
Slim Micro Framework,
[...] [...]
YanıtlaSilpaylaşım için teşekkürler
YanıtlaSilçok teşekkürler.
YanıtlaSilPHP, üniversitelerde öğretilmediği için “alaylı” dilidir. <?php echo “hello world” ?> den sonra mysql_connect() i öğrenen yazılımcılar hemen piyasada kendi sitelerini yapmaya veya iş aramaya başlarlar. Kendilerini geliştirmek, kitap okumak gibi dertleri yoktur. “Community driven” giden bir sektörden çok da bir şey bekleyemezsiniz. Halkımızın kitap okuma yüzdesini de hesaba katınca, sonucu tahmin edebilirsiniz. Bunu besleyen Ceviz, R10, İyinet gibi servisler de ülkemizde pek sevilen sitelerdir. Php.net deki dökümanları bile okuyamayacak kadar ingilizce bilmeyen insan toplulukları buralardan beslenir. Frontend kısmında da söyleyecek pek bir söz yok, “javascript bilmiyorum ama jquery yazarım” diyen insanlardan piyasada bir hayli var.
YanıtlaSilbilgisayar programcılığı dersi öğrencisiyim bu kadar açıklamalı anlatım derslerde bize yapmıyorlar. teşekkürler hocam paylaşımınız için.
YanıtlaSilgüzel anlatım, teşekkürler
YanıtlaSilSenin neler bildiğini öğrenebilirmiyiz çok kitap okuyan arkadaş.Benim ingilizcem yok ama php.net ten faydalanabiliyorum.Girip bi yazı okuyum dedim yorumunu görünce sinirlerim ayaklandı, okuduğum yazıda boşa gitti, ibine seni.
YanıtlaSil