In Lumen, you can not group your subdomains so that you can not use wildcard subdomains which is one of the most annoying features of the Lumen. What people recommend is using more than one Lumen installations per subdomain or use Laravel with subdomain routing where you can use route paramaters like route URIs. However, with a simple control mechanism, you can decide what routes will be registered upon request.

14 August 2017

Imagine the scenario where you have multiple subdomains, such as multiple locales for the internalization of your application served as en.example.test and es.example.test. You don't need to put each of them as a seperate entry to your both homestead config file and the hosts file if all of them will be served from the same application. There is of course an easier way.

04 March 2017

Closure, PHP'ye 5.3.0 ile gelmiş olan önemli bir özellik. Tam olarak ne olduğunu tanımlamam biraz zor, ancak tanımlamaya çalışacak olursam, isimsiz, fonksiyon görünümlü objeler olduklarını söyleyebilirim. Bu tanım size garip gelmiş olabilir, ama örnekleri inceleyince daha net anlayabileceğinizi düşünüyorum. Örneğin, alttaki gibi bir çağrıyı bir yerde görmüş ve anlam verememiş olabilirsiniz.

12 Ekim 2015

Generator PHP 5.5.0 ile gelmiş olan önemli bir yenilik olup, en basit ve net tanımı, memory'den (hafızadan) kazanım sağlayabileceğiniz iteratörler olduğudur. Açıkçası generator'ın önemini ben de başta pek idrak edememiştim, ancak daha sonradan çok büyük dosyalar üzerinde işlem yaparken, karşılaştığım memory problemleri, generator kullanmanın ne kadar önemli olduğunu bana acı bir şekilde öğretmişti.Burada da verilen en klişe, ama net olan örneği vereceğim. foreach (range(0, 1000000) as $number) {    echo $number;} Üstteki örnekte, 1'den 1000000'a kadar olan tüm numaraları yazdırıyorsunuz.

08 Ekim 2015

Trait, PHP 5.4.0 ile gelmiş, nesneye yönelik programlama konseptlerinden birisidir. Perl (roles), Scala (trait), Ruby (modules) gibi başka dillerde de trait kullanımı olmakla beraber, birçok kişi hala ne olduğunu tam olarak bilmemekte ve yeteri kadar kullanmamaktadır.Trait'in basit bir tanımını yapacak olursam, interface gibi, bir class'ın (sınıfın) neler yapabileceğini belirten, aynı zamanda da, class gibi, yöntemleri, implemented (uygulanmış) şekilde, direkt sağlayabilen kısmi sınıf uygulaması diyebilirim. Ne gibi durumlarda trait kullanmanız gerektiğini ise basit bir örnekle açıklayacağım. Düşünün ki User ve Article adında birbiriyle alakasız, amaçları farklı olan iki ayrı class'ınız var. Her ikisinde de slug (User için: Burak Özdemir -> burak-ozdemir, Article için: PHP'de Trait Kullanımı -> php-de-trait-kullanimi) üretmeniz lazım.

07 Ekim 2015

Interface birçok şekilde tanımlanabilir, ama şu ana kadar gördüğüm en sade ve net tanımlamayı yapacak olursam, bir objenin (nesnenin) bir başka objenin ne olduğuna bağlı olmaması, ama o objenin yapabildiklerine bağlı olmasını düzenleyen, objelerin karşılıklı anlaşması olarak düşünebilirsiniz. Ancak tabii ki bu tanım da yeterli kalmayabilir, o yüzden biraz daha bu kavramı gerçek hayattan bir örnekle açıklayacağım.İşe geç kaldınız ve evden en kısa sürede çıkmanız lazım, ancak eşiniz, siz tam çıkarken akşama ne yemek yapayım sorusunu soruyor, siz de herhangi bir şey yap, yeter ki yiyebilelim diye geçiştirip çıkıyorsunuz. Yani eşinize ne yapması gerektiğini belirtmeyip, özellik (interface) belirterek eşinizin üreteceği çıktının (objenin), yenilebilir özelliğe sahip herhangi bir şey olmasını bekliyorsunuz.

02 Ekim 2015

PHP ile ilgili yazılmış kaynakların birçoğu ne yazık ki modern standartların çok gerisinde ve herhangi bir arama motoru sorgusunda en üstte çıkarak birçok yeni kullanıcının gelişimini olumsuz etkilemekte. Daha da kötüsü, Türkçe kaynak sayısı az olduğu gibi, daha büyük ve geri dönülemeyecek hatalara sebebiyet verebilecek yanlış yönlendirmelerle dolu. Doğal olarak da bu durum ülkemizde birçok insanın PHP konusunda olumsuz düşüncelere sahip olmasında büyük bir etken oluyor.

01 Ekim 2015