.Net ile tanıdığım ve çok sevidğim Extensions methodları PHP 5.3 ile Closure sayesinde yapabiliyoruz (obje yeteneklerini kullanmazsan :p). PHP’den, daha esnek bir lambda yapısı beklerdim (JS gibi) ama Closure objesi debug modda bir obje iken (closure objesi diyoruz zaten (: ) $this için “do not have a object context diyor”. Evet cok ilginc (: bunu neden yapmamışlar anlayamadım. Belki de yapı buna uygun değildi ya da amaçları bu değildi biz böyle kullanmaya kalktık. Closure bize bir çok alanda lazım olacaktır. Kullanacağımız her yerde closure ile ilgili komplex olaylarda debug işlemimiz de zorlaşacak. Bunlar tuzu biberi zaten ama “$this” in hep başıma bela  olacağını düşünüyorum. JS nin object yapısına benzer bir örneği blogumda yayınlamak istiyordum ama bu kısıtlamayı yaşayınca hiç yazasım gelmedi .

http://wiki.php.net/rfc/closures/object-extension?#c_javascript_like_behaviourdon_t_bind_this_at_creation_but_only_when_called

bu adreste object extensiondan bahsedilmiş. Güzel, ama “javascript like behaviour “ kısmına katılmıyorum. Bence yanlış olmuş.  5.3’teki devinimler PHP’ye güzel şeyler getirecek bunu görebiliyoruz ama 5.3 ten beklentileri karşıladı sayılmaz. Yeteneklerinin sadece yontemleri değiştirildi ve isimleri değiştirildi.

PHP 6 TODO listesinde de var. http://wiki.php.net/todo/php60

Yazıyı okumanızı tavsiye derim. Diğer sürümlerde bunların beklediğimiz gibi olması dileğiyle (:

İyi çalışmalar.



 

Irontec (http://code.irontec.com/) mühendislerinin geliştirdiği APK (http://phpforandroid.net/). Projenin öncüsü  ”Iván Mosquera Paulo”  opensource geliştirmekten zevk aldığını söylüyor. PHP’nin geleneklerinin dışına çıkmak istemediklerinden olacak ki, ASE (yeni adı ile SL4A) alışkanlıklarını PHP stili ile yazdırmışlar. irontec ekibi PHP  de en fantastik ekiplerden biri olarak biliniyor. Karma  (http://karma.irontec.com/)  diye adlandırdıkları ve bütün uygulamalarını bu framework üzerinde geliştirdiklerini söylüyorlar denemek lazım aslında en azından incelemek.



fazla uzatmadan yine röportaj linki vermek istiyorum :

http://www.phpclasses.org/blog/post/125-Developing-PHP-applications-to-run-natively-on-Android-phones.html

Performance is all about flexibility vs. cost tradeoffs.

Rasmus Lerdorf, Digg ofisinde bir konuşmada, güvenlik ve optimizasyonlarını üstlendiği WordPress ve Joomla üzerine örneklerle PHP performansını konuşuyor.  PHP gördüğüm kadar karışık bir dil haline gelmemeliydi diyor Rasmus, ve üzüldüğünü söylüyor. Her yazıda Joomla’yı en komplex ve en esnek uygulamalar arasına koysalar da Rasmus bunu savunmuyor. Her neyse, onu anlamak ya da anlatmak zor olur sanırım. videosunu ve bununla ilgili Manuel Lemos’un Jason Roberts ve  Ernani Joppert ile  röportajını vermek istiyorum

Digg Technical Talks – Rasmus Lerdorf from Digg Development on Vimeo.

 
( edit:  url kısaltma servisi istiyoruz :)

Merhaba arkadaşlar, linq sınıfımda kullandığım metodlarda bugün değişiklikler yaptım. while ile foreach kalıplarını teste soktum . galibimiz forech. while ile yazdığım tüm kalıpları foreach’e dönüştürdüm.  For yerine while tercih ederdim hep daha hızlıdır diye ama bu testimizde for yok. freach ve while var.  150 bin elemanlı bir dizi ile denedim we ikisinde de  aynı işlemleri yaptım şimdi test sonuclarına bakalım.

ilk önce dizimizi oluşturalım

0
$bigarray = range(1,150000);

while($array = each($bigarray)) kalıbını test edelim

0
1
2
3
 while($array = each($bigarray))
    {
      $a = count($bigarray);
    }

0.457 sn.

araya list() işlemi de girince pek birşey farketmiyor
while(list($key,$value) = $array = each($bigarray) ) bu  yapının süresi de  0.492 sn

şimdi galibimiz foreach’i test edelim aynı dizi üzerinde.

0
1
2
3
foreach ($bigarray as $key=>$val)
    {
        $a=count($bigarray);
    }

Sonuç : 0.166 sn bence cok büyük bir fark. iyi çalışmalar…

© 2012 Tufan Suffusion theme by Sayontan Sinha