Neden Yii Framework?

Neden Yii Framework

Neden Yii Framework

Merhaba arkadaşar, bu yazımızda Neden Yii Framework‘ü tercih etmeliyiz veya etmemeliyiz artıları ve eksileri ile birlikte değerlendirmeye

almaya çalışacağım php de Framework tercihi yapmak isteyen arkadaşlara faydalı olması dileklerimle;

Bildiğiniz gibi PHP olarak kullanabileceğiniz birçok Framework mevcut bunlardan başlıcaları; Devamı

Codeigniter, Symfony, Zend, Yii başlıcaları olmak üzere birçok farklı yanlarıyla ön plana çıkan Framework‘ler mevcut.

şüphesiz bunlardan en çok duyulan veya kullanılan Codeigniter – Symfony –  Zend üçlüsü olarak önplana çıkıyor. Peki niye bunlar önplanda?

Burada aynı zamanda Yii nin en büyük eksiği devreye giriyor; Türkçe kaynak eksikliği ve haliyle buna bağlı olarak kullanıcı sorunları. Özellikle Codeigniter başta olmak üzere Symfony -Zend Frameworkleri ile ilgili birçok dökümantasyon a ulaşabilirsiniz. Bana göre Yii nin en büyük eksiği de bu.

Yii Framework‘ü kısaca özetleyecek olursak; MVC (ModelViewController) yapısında uygulama geliştirmeye olanak sunan, gelişmiş CRUD yapısı ile kolay bir veritabanı yönetimi sunan, gelişmiş OOP (object oriented programming) özellikleri ile ön plana çıkmış Yahoo tarafından geliştirilen bir php framework‘üdür.

php frameworkleri ile ilgili top10 listesine buradan ulaşabilirsiniz.

 

 

Yii Framework’te Yeni Proje Oluşturma

Merhaba bu yazımızda Yii Framework’te yeni bir proje nasıl oluşturulur inceleyeceğiz. Faydalı olması dileğiyle.

Öncelikle localhost’umuzda Yii Framework kurulumunu yaptığımız dizine erişiyoruz.

örnek verecek olursak :  C:\xampp\htdocs\dizinadi  gibi bu kullandığınız apache sunucususuna göre değişir. Devamı

Bu dizinden \framework klasörümüzü bulup içine dalıyoruz. Burada framework’ümüzle ilgili yakışıklı klasörlerimiz yer alıyor ilerde hepsine tek tek değineceğiz.

konuyu dağıtmadan bu klasör içinde boş bir alanda Ctrl + Shift + Sağ Click yapıyoruz. Aşağıdaki gibi bir menü açılacak

yii framework proje oluşturma

yii framework proje oluşturma

 

Buradan Komut pencesini burada aç seçeneğine tıklıyoruz.

Açılacak komut penceremizde   yiic  webapp   ../projemizinadi   olarak yeni bir yii projesi oluşturmak istediğimizi ve oluşturmak istediğimiz dizini belirtiyoruz.

Yii Framework Proje Oluşturma

Yii Framework Proje Oluşturma

Bu işlemi Enter’ladığınızda yiic size bu işlemi onaylamanız için aşağıdaki gibi bir soru ile dönüş yapacak;

Yii Framework Yeni Proje Oluşturma

Yii Framework Yeni Proje Oluşturma

komut penceremizde bu soruya sadece y yazarak işlemimizi onaylıyoruz.

Yii Framework Yeni Proje Oluşturma

Yii Framework Yeni Proje Oluşturma

işlemimizi Enter’ladığımızda yiic bizim için belirttiğimiz dizinde projemizi oluşturuyor.

Yii Framework Yeni Proje Oluşturma

Yii Framework Yeni Proje Oluşturma

Evet projemiz oluştu. localhost’umuzda oluşturduğumuz projemizi görebiliriz. Ben yii framework’u localhostumda fth dizini altına

kurmuştum localhost/fth/yeniproje dizinini açtığımda projenin açılması gerekiyor.

 

Yii Framework Yeni Proje Oluşturma

Yii Framework Yeni Proje Oluşturma

 

Gördüğünüz gibi yiic, dizinimde benim için kendi default teması ile birlikte projemi oluşturmuş.

diğer Yii Framework anlatımlarında görüşmek dileğiyle.

 

Php mi? o da neymiş?

PHP yi tanımlama tam anlamıyla gezegen benzetmesine uygun olur diyebilirim, Tüm yazılım dilleri bir yana php avantajları ile ayrı bir gezegen gibidir.

1995 Yılında Rasmus Lerdorf adında gereğinden fazla meraklı bir amcamız tarafından kişisel bilgilerini yayınlama amacıyla oluşturulan   bu dil günümüzde hala geliştirilmektedir, Açık kaynaklı ve ücretsizdir.

Devamı

php  web tabanlı bir programlama dilidir. Eskiden açılımı “Personal Home Page”( Kişisel Anasayfa) iken günümüzde gelişmesi ve daha iyi anlam kazanması ile “PHP: HypertextPreprocessor” yani Üstün Yazı Önişlemcisi olmuştur.

Diğer web tabanlı dillere göre onlarca avantajı olan ve günümüzde en popüler dillerden birisi. İnternet üzerindeki durağan sabit yazılara dinamiklik katmamızı sağlayan bir web tabanlı dil olan PHP, en iyi performansı MYSQL veritabanı ve linux işletim sistemi ile gösterir.

Hakkımda

“Bilgi seni ayakta tutar, uyguladıkların bir yerlere götürür”
Bilgi edinmekten usanmayan ve biryerlere gitmeye çalışan bir seyyah bir ikinci tekil şahıs.

Neler Yaparım?

Web Geliştirme               (php-yii Framework-.Net MVC-CSS-HTML)

Android                             (Adobe Air, IONIC Framework)

Tasarım                             (ıllustrator, Photoshop, 3D Max)

 

Özetle Yazılımcının Halleri 🙂

Hal 1 : Bütün desenler ezberlenir sonra ilk projede hepsi birden kullanılmak istenir.

Hal 2: “Ben Xciyim bu proje Y ile yazılmış, el sürmem hatta Yyi de yazmam, yazanı da sevmem” demesidir.

Hal 3: Unutkan olduğunu bilmesine rağmen, “Şu kod bloğunu bir comment’liyim sonra açarım” vaziyetidir.

Hal 4: Ömür boyu sadece iyi kod yazmasının yeterli olacağını düşünmesidir.

Hal 5: Özellikle fast food dan uzak durunca kilo verebileceğini zannetme vaziyetidir.

Hal 6: Minicik bir metodun içine bin satır kod sığdırınca yazılımcı olduğunu düşünmesidir.

Hal 7: Yazılım dünyasının sadece Object Oriented olduğunu düşünmesidir.

Hal 8: Bir problem çözümünde akla gelen ilk çözümün en iyi çözüm olduğu yanılgısıdır.

Hal 9: Tüm çalışma hayatı boyunca sadece bilgisayar kitabı okunmasının yeterli olacağını düşünmesidir.

Hal 10: Matematiği önemsemiyor olmak gibi feci bir hataya düşmektir.

Hal 11:Bazen bir dilin temellerinin öğrenilebileceği en iyi yerin komut satırı(Console) olduğunu unutmaktır.

Hal 12: Debugger ın verdiği Warning mesajlarını, Build’u kesmiyor diye kulak arkası etmektir.

Hal 13: İlerde güneye yerleşip domates yetiştirebileceği hayaline cidden inanmasıdır.

Hal 14: Martin Fowler, Robert C. Martin gibi ustaların yayınlarını eski basım diye okumamalarıdır.

Hal 15: SOA gibi mimari yaklaşımların gerçek saha da uygulanmasının ne kadar zor olduğunu anlamamasıdır.

Hal 16: SOA’ nın sadece web servisi ve metotlardan oluştuğunun sanılmaslıdır.

Hal 17: Scrum ın sadece stand-up meeting lerden oluştuğunu sanmasıdır.

Hal 18: MVC nin sadece Asp.Net e özgü bişi olduğunu sanmasıdır.

Hal 19: Bazı projelerin ekip çalışması olmadan da bitebileceğini zannetmesidir.

Hal 20: Kod yazan kodları geliştirmeye çalışmak gibi öğrencilik hobilerinin yararını fark etmeyişidir.

Hal 21: Sosyalleşmek için evin duvarları dışına bedenen çıkması gerektiğini inkar etmeye çalışmasıdır.

Hal 22: Aslında bazı problemlerim çözümünde kağıt kalem kullanmanın ne kadar önemli olduğunu fark etmeyişidir.

Hal 23: Bir toplantıya not defteri ile gitmenin demode olmuş eski bir gelenek olduğunu düşünmesidir

Hal 24: Her sabah, gazetelerden önce takip edilmesi gereken feed içeriklerine göz gezdirmeyişi.

Hal 25:Bazen bir ürünün kullanıcılarının doktoralı mühendisler olduğunu sanıp basitlikten uzaklaşmasıdır.

Hal 26:KISS in ne anlamına geldiğini iyi bilmesi ama önemli bir prensibi ifade ettiğini de hep unutmasıdır.

Hal 27:Kodlarını, yıllar sonra başka bir geliştiricinin yeniden kurcalayabileceğini düşünmeyerek yazması.

Hal 28: Bir teknik dokümantasyonun edebi eser olacağını sanıp, sürekli güncellemesi gerektiğini unutması.

Hal 29: İçini henüz yazmayacağı metoddan, NotImplementedException tadında bir şey fırlatmaya üşenmesi.

Hal 30 : ALM gibi bazı terimlerin koca bir okyanusu işaret edebileceğini gözden kaçırmak.

Hal 31:Sürekli fikir üretir ama Business Model Canvas gibi olgulardan bi haber inovasyon yapacağını sanar.

Hal 32: Dünyada bir tane Facebook, bir tane Twitter vs teorisine karşı çıkıp sıfırdan yazmaya kalkması.

Hal 33 : Semantic Web gibi bir gerçeğin farkındalığına hala varmamış, önemini kavrayamamış olması.

Hal 34:Bir servisin başka platformlarca kullanılabileceğini düşünmeden platform bağımlı yazılması.

Hal 35:Bazen bulunan çözümlerin zamanla Anti Pattern haline geleceğini düşünmeden hareket etmesi.

Hal 36:Evrende veri depolamak,sunmak için sadece MS SQL ve Oracle olduğunu zannedip NOSQLi hiç araştırmamak

Hal 37:Dev bir Solution’ın neresinden Debug etmeye başlanması gerektiğinde ki kararsızlık durumudur.

Hal 38: Loglama denilince bunu her hareketi bir yerlere yazmak olarak düşünüp, anlamlaştırmayı unutmaktır.

Hal 39:Bazı ürünlerin geliştirildiği ortam/çevre nedeniyle Agile yürütülemeyeceğini kabul etmemesi.

Hal 40: Unit Test leri çoğunlukla angarya iş olarak görüp ihmal etmesi.

Hal 41:Juval Lowy’nin C# Kodlama Standartları dokümanını okumamasıdır.

Hal 42:Kullanılan Framework kod içeriklerine bakıp ne kadar çok şey öğrenebileceğini düşünmemesi.

Hal 43:Algoritmaların sadece sıralama işlemlerinde kullanıldığını düşünmek.

Hal 44:Bir problemin çözümünde bazen Pseudocode dan yararlanabilmenin çok kıymetli olduğunu fark etmemek.

Hal 45: Bir dilin veya ürünün fanatiği olunur ve diğerlerine ömür boyu tu kaka denilir.

Hal 46:Bilgisayara akla gelen ne varsa kurulur sonra “çok yavaşladı” denir.

Hal 47:İmkan olsa da, bir sürü niteliği olan bir varlığı, tip-nesne ilişkisi çerçevesinde düşünmez.

Hal 48:Kişisel gelişimi açısından kısa,orta ve uzun vadeli planlar yapmaz, paso kod yazar.

Hal 49:Bir problemi duyar duymaz kodlayarak çözmek ister ve “Bi dur, düşün,optimize et,çöz,yaz” demez.

Hal 50:Koca Solution da önemli bir değişiklik yaptığında bunu dokümante etmez.

Hal 51:Koca Solution da önemli bir değişiklik yapmadan önce, nerelere etki edeceğinin analizini yapmaz.

Hal 52: User/Pwd gibi hassas bilgileri ‘sonradan dışarı alıp parametrik yaparız’ der ama kod içinde unutur