• 06-07-2014, 21:56:58
    #10
    Kimlik doğrulama veya yönetimden onay bekliyor.
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    return new self; ile return new static(); arasında ciddi bi' fark var mı ?
    @bknz: http://stackoverflow.com/a/5197655
  • 06-07-2014, 23:47:00
    #11
    ylv
    Üyeliği durduruldu
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    php 5.4.16 versiyonunu kullanıyorum. muhtemelen 5.3'den sonra falan gelmiş olabilir özellik. Dediğim gibi şu an da popüler olan çoğu framework'de bu tarz kullanımlar mevcut. Ki benim büyük heves ve ilgiyle takip ettiğim, çalıştığım framework olan Laravel'de de bu yapı mevcut. View::make('post.show')->with('post', $post); veya DB::table('uyeler')->update(array('votes' => 1)); gibi mesela. Bu açıdan bir araştırmaya girmiştim ve return new self; komutu ile dediğimi yaptım. Bu return $₺his ile aynı şeyi yapıyor sanırım static metotlar için.



    Hocam bu şekilde zaten kullanabiliyorum burda problem yok. Ama burda kullanabilmeniz için dahil ettiğiniz sınıfı new etmeniz gerek. Static sınıflarda böyle bir duruma gerek kalmıyor. Dikkat ederseniz benim verdiğim örnekte db::select('id, title, content')->from('news')->orderBy('id', 'desc')->getAll(); şeklinde bir kullanım var. $db->select()->from()->.... diye değil. Ama yukarda söylediğim gibi sorunu hallettim.

    İlginiz için teşekkürler, lazım olan olursa böyle bişey, bunu kullanabilir

    şimdi test ettim 5.3 de çalışmıyor, syntax hatası veriyor. kullanamıycam ama en azından bilgilenmiş oldum.

    iyi çalışmalar
  • 07-07-2014, 03:42:50
    #12
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ylv adlı üyeden alıntı: mesajı görüntüle
    şimdi test ettim 5.3 de çalışmıyor, syntax hatası veriyor. kullanamıycam ama en azından bilgilenmiş oldum.

    iyi çalışmalar
    yazdığınız fonksiyonu mu tanımadı? tam olarak nasıl bir hata çıktısı aldınız? 5.3'de desteği var diye biliyorum çünkü
  • 07-07-2014, 05:22:58
    #13
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    yazdığınız fonksiyonu mu tanımadı? tam olarak nasıl bir hata çıktısı aldınız? 5.3'de desteği var diye biliyorum çünkü
    Laravel'de 5.4 üstü sorunsuz çalışıyor. 5.3 kurulu makinam olmadığı için deneyemiyorum.

    @bknz: https://packagist.org/packages/illuminate/database
  • 07-07-2014, 07:11:51
    #14
    saintx adlı üyeden alıntı: mesajı görüntüle
    Laravel'de 5.4 üstü sorunsuz çalışıyor. 5.3 kurulu makinam olmadığı için deneyemiyorum.

    @bknz: https://packagist.org/packages/illuminate/database
    laravel'de namespaces'ler ve diğer yeni diyebileceğimiz php özellikleri kullanıldığı için 5.4 üstü olması normal ama, bu static sınıf için 5.3 yeterli diye biliyorum. Arkadaşta neden çalışmadı merak ettim doğrusu.
  • 07-07-2014, 07:14:36
    #15
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    laravel'de namespaces'ler ve diğer yeni diyebileceğimiz php özellikleri kullanıldığı için 5.4 üstü olması normal ama, bu static sınıf için 5.3 yeterli diye biliyorum. Arkadaşta neden çalışmadı merak ettim doğrusu.
    Tam sürümü bilmiyoruz. Lâkin PHP.net'te çalışabileceği yazıyor.

    Alıntı
    As of PHP 5.3.0, it's possible to reference the class using a variable. The variable's value cannot be a keyword (e.g. self, parent and static).
    @bknz: http://php.net/manual/en/language.oop5.static.php
  • 07-07-2014, 09:18:46
    #16
    ylv
    Üyeliği durduruldu
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    yazdığınız fonksiyonu mu tanımadı? tam olarak nasıl bir hata çıktısı aldınız? 5.3'de desteği var diye biliyorum çünkü
    saintx adlı üyeden alıntı: mesajı görüntüle
    Laravel'de 5.4 üstü sorunsuz çalışıyor. 5.3 kurulu makinam olmadığı için deneyemiyorum.

    @bknz: https://packagist.org/packages/illuminate/database

    https://github.com/illuminate/databa...ry/Builder.php

    static zincir olayı yok bunda. konuda ilk bahsettiğim yapı var.

    ---
    ayrıca
    php de sözdizimi bana göre başlı başına felaket,
    değişken tanımlıyorsun bunun bir tipi olur belirtirsin.
    fonk. return ifadesi kullanmazsan NULL dönüyor, ben belirtmeliyim

    public function select($columns = array('*'))
    {
    $this->columns = is_array($columns) ? $columns : func_get_args();

    return $this;
    }

    bu şekillerde olmalı
    public function select(array $columns) : Builder{return $this;}
    Builder function select(array $columns) {return $this;}

    /**
    * The database connection instance.
    *
    * @var \Illuminate\Database\Connection
    */
    protected $connection;

    olması gereken
    Connection $connection;

    ---

    eski versiyonlarında yoktu bilgiğim kadarıyla

    public function __construct(ConnectionInterface $connection,
    Grammar $grammar,
    Processor $processor
    )
    {
    $this->grammar = $grammar;
    $this->processor = $processor;
    $this->connection = $connection;
    }

    şimdi yavaş yavaş ekliyorlar sanırım