SublimeText 2 editörünü kullanmaya başladım. Daha bir hafta oldu ama php ile geliştirme yaparken pek problemler ile boğuştuğumu söyleyemem.
Debug konusu sıkıntılı şu an. Ancak buna henüz ihtiyacım olmadı. Olunca bakacağım.
Şu ana kadar çok az RAM yemesi, CPU yu neredeyse koklaması hasebiyle, ayrıca GIT pluginiyle tam bir geliştirme ortamı sunduğunu söyleyebilirim. Tavsiye ederim de...
Python dilinde de geliştirme yapmak o kadar zor değil SublimeText 2 editör ile...
php etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
php etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
30 Mayıs 2013 Perşembe
29 Mayıs 2013 Çarşamba
Laravel'e övgü...
Evet yine PHP dili ile bazı denemelere devam ediyorum. Paslanmayalım desem de inanmayın.
Daha fazla PHP ile çalışmak istediğimi sanmıyorum. Ancak Laravel adlı bir frameworkten bahsetmek istedim.
Laravel bilindiği üzere bir sürü PHP framework camiası içinden sadece biri. Tabii uğraştığım bir framework. Çok fazla framework tecrübem olmasa da beğendiğim taraflarını yazmak istedim.
Mesela "migration" olayına bayıldım. "Artisan" komut islemlerinden "migration"'ı aktif ederseniz "application" dizini altında "migrations" adlı bir dizin oluşturuyor. Ve veritabanında da bir tablo.
Siz bu dizin altında migration için dosyalar var ediyorsunuz komut ile. Ve "Schema" yani şema create edebilecek şekilde php kodları yazıyorsunuz. Tabii rollback yapılabilsin diye rollback yapıtığınızda şema drop olaylarını da ekliyorsunuz uygun yerlere...
Sonra eğer tabloda değişiklikler varsa yeni bir migration dosyası ve şema daki değişiklikleri php kodlarıyla yapıyorsunuz. Böylece bir yazılım güncellemesinde yeni tabloları otomatik yönetmiş oluyorsunuz. Ve problem olursa geriye dönmelerini de sağlayabiliyorsunuz.
Ben bu özelliğini çok sevdim :)
Ayrıca ORM sini kullanmak çok kolay. Çok karışık sorgularda ham SQL i de kabul ediyor.
Bence kullanmaya değer. Ben sevdim. Python Django framework e çok benzetiyorum...
Daha fazla PHP ile çalışmak istediğimi sanmıyorum. Ancak Laravel adlı bir frameworkten bahsetmek istedim.
Laravel bilindiği üzere bir sürü PHP framework camiası içinden sadece biri. Tabii uğraştığım bir framework. Çok fazla framework tecrübem olmasa da beğendiğim taraflarını yazmak istedim.
Mesela "migration" olayına bayıldım. "Artisan" komut islemlerinden "migration"'ı aktif ederseniz "application" dizini altında "migrations" adlı bir dizin oluşturuyor. Ve veritabanında da bir tablo.
Siz bu dizin altında migration için dosyalar var ediyorsunuz komut ile. Ve "Schema" yani şema create edebilecek şekilde php kodları yazıyorsunuz. Tabii rollback yapılabilsin diye rollback yapıtığınızda şema drop olaylarını da ekliyorsunuz uygun yerlere...
Sonra eğer tabloda değişiklikler varsa yeni bir migration dosyası ve şema daki değişiklikleri php kodlarıyla yapıyorsunuz. Böylece bir yazılım güncellemesinde yeni tabloları otomatik yönetmiş oluyorsunuz. Ve problem olursa geriye dönmelerini de sağlayabiliyorsunuz.
Ben bu özelliğini çok sevdim :)
Ayrıca ORM sini kullanmak çok kolay. Çok karışık sorgularda ham SQL i de kabul ediyor.
Bence kullanmaya değer. Ben sevdim. Python Django framework e çok benzetiyorum...
22 Mart 2009 Pazar
Php ile değişen alt yapılara ayak uyduran üyelik sistemi yazmak
Php ile değişen alt yapılara ayak uyduracak bir üyelik sistemi yazmak isteyelim mesela.
Bunu nasıl yaparız?
Örneğin sisteme girişlerin denetlemesini bir veritabanından okuyarak yapıyor olalım. Üyeler kullanıcı adlarını ve şifrelerini yazıp sisteme giriyor olsunlar. Her şey buraya kadar normal.
Bir gün patron gelsin ve artık biz o şirketle birleştik ve onların API'lerini kullarak üyelerin girişlerini denetleyeceklerini söyledi. Bu sırada siz kafayı sıyırabilirsiniz gönül rahatlığıyla...
Peki böyle değişken durumlara ayak uyduracak bir sistem yazabilsek ve üye girişlerinin genel yapısı değişmesede, ufacık bir değişiklikle tüm sistem alt yapısı bir anda değişse...
İşte burada sizin üyelik sistemini nasıl tasarladığınıza göre işiniz ya zor ya da kolay olacaktır.
Yukarıdaki kodda üyelik sistemi genel yapısı hiç değişmeden sadece Adaptör nesneyi değiştirerek bu işlemi gerçekleyebiliriz. Tüm denetleme yapıları aynı kalır. Sadece "BenimGirisAdaptorum" sınıfı yerine aynı interface'dan türemiş başka bir adaptör nesnesi kullanmamız yeterli olacaktır. Bu sayede üyelik mekanizması şeklen aynı kalacak ancak kullandığı alt yapı esasen değişmiş olacaktır.
Örnek kodlar aşağıda indirilebilir.
Örnek kod: örnek dosya
Örnek kodu incelerseniz herşey kafanızda daha da netleşecektir.
Bunu nasıl yaparız?
Örneğin sisteme girişlerin denetlemesini bir veritabanından okuyarak yapıyor olalım. Üyeler kullanıcı adlarını ve şifrelerini yazıp sisteme giriyor olsunlar. Her şey buraya kadar normal.
Bir gün patron gelsin ve artık biz o şirketle birleştik ve onların API'lerini kullarak üyelerin girişlerini denetleyeceklerini söyledi. Bu sırada siz kafayı sıyırabilirsiniz gönül rahatlığıyla...
Peki böyle değişken durumlara ayak uyduracak bir sistem yazabilsek ve üye girişlerinin genel yapısı değişmesede, ufacık bir değişiklikle tüm sistem alt yapısı bir anda değişse...
İşte burada sizin üyelik sistemini nasıl tasarladığınıza göre işiniz ya zor ya da kolay olacaktır.
$giris = new UyelikGiris(new BenimGirisAdaptorum("assd", "123"));
if($giris->girisOnaylandiMi()){
echo "Onaylandı\n";
}
Yukarıdaki kodda üyelik sistemi genel yapısı hiç değişmeden sadece Adaptör nesneyi değiştirerek bu işlemi gerçekleyebiliriz. Tüm denetleme yapıları aynı kalır. Sadece "BenimGirisAdaptorum" sınıfı yerine aynı interface'dan türemiş başka bir adaptör nesnesi kullanmamız yeterli olacaktır. Bu sayede üyelik mekanizması şeklen aynı kalacak ancak kullandığı alt yapı esasen değişmiş olacaktır.
Örnek kodlar aşağıda indirilebilir.
Örnek kod: örnek dosya
Örnek kodu incelerseniz herşey kafanızda daha da netleşecektir.
Kaydol:
Kayıtlar (Atom)