SORU
20 NİSAN 2011, ÇARŞAMBA


PHP 5.4 - 'kapatılması bu $' destek;

PHP 5.4 için planlanan yeni özellikler görüyorum: özellikleri, dizi kaldırma, JsonSerializable bir arayüz ve bir şey denir 'closure $this support'

http://en.wikipedia.org/wiki/Php#Release_history

Diğerleri hemen belli (JsonSerialiable, dizi kaldırma) ya da yukarı özellikleri (özellikler) baktım olsa da, emin değilim ne bu kapanış $' desteği. Başarısız için googling veya php.net üzerinde bir şey bulmaya çalışıyorum

Herkes bunun ne olduğunu biliyor mu?

Eğer tahmin etmem gerekirse, böyle bir şey ifade eder:

$a = 10; $b = 'strrrring';
//'old' way, PHP 5.3.x
$myClosure = function($x) use($a,$b)
             {
                 if (strlen($x) <= $a) return $x;
                 else return $b;
             };

//'new' way with closure $this for PHP 5.4
$myNewClosure = function($x) use($a as $lengthCap,$b as $alternative)
                 {
                     if(strlen($x) <=  $this->lengthCap)) return $x;
                     else 
                     {
                         $this->lengthCap  ;  //lengthcap is incremented for next time around
                         return $this->alternative;
                     }
                 };

Önemi eğer bu örnek önemsiz değilse bile) kapatılması bağlı 'use' değişkenleri sabit. inşa edildiğinde, geçmişte bu varlık 'Bu destek kapanması $' uğraşmak isteyeceğin üyeleri gibi.

Bu doğru ve/veya yakın ve/veya makul geliyor mu? Herkes ne olduğunu biliyor 'bu destek kapanması $' anlamına mı geliyor?

CEVAP
20 NİSAN 2011, ÇARŞAMBA


Bu zaten PHP 5.3, ama planlanmıştı

PHP 5.3 $Kapanması için bu destek hiçbir uzlaşma aklı başında bir şekilde nasıl ulaşılabileceğini için kaldırıldı. Bu RFC, bir sonraki PHP sürümüne uygulamak için alınabilecek olası yolları anlatılmaktadır.

Aslında nesne örneği (live demo) başvurabilirsiniz anlamına gelir

<?php
class A {
  private $value = 1;
  public function getClosure() 
  {
    return function() { return $this->value; };
  }
}

$a = new A;
$fn = $a->getClosure();
echo $fn(); // 1

Bir tartışma için PHP Wiki bakın

ve tarihi ilgi:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012
  • уσ ρℓz sυв ιℓℓ sυв вαcқ

    уσ ρℓz

    14 EKİM 2010
  • snookie77

    snookie77

    2 Mart 2006