Bir PHP sınıf oluşturma ->

3 Cevap php

Ben formChecker.php adında bir PHP sınıfı oluşturduk. Bir formu doğrular. Java programcısı olarak, başka bir sınıfta, bu sınıfın bir örneğini yaratma fikri ile sopa ve oradan çalıştırmak istiyorum. Bu me.The aşağıdaki için çalışıyor görünmüyor bir gösteri:

class formChecker{

  ..... validation functions go here

}

class runFormChecker{

....  create instance of formchecker here and use it's methods etc.

}

Bu yapılabilir mi? Ne düşünüyorum ayrı ayrı çalıştırılabilir sınıfları bir dizi geliştiriyor.

GF

3 Cevap

Ben oldukça runFormChecker örneğine formChecker örneğini (ya da belirli bir arabirimi uygulayan bir şey) geçerdi. bkz http://en.wikipedia.org/wiki/Dependency_injection

Gibi basit olabilir

interface FormChecker {
  public function foo($x);
}

class MyFormChecker implements FormChecker
  public function foo($x) {
    return true;
  }
}

class RunFormChecker {
  protected $formChecker=null;
  public function __construct(FormChecker $fc) {
    $this->formChecker = $fc;
  }

  // ....
}

$rfc = new RunFormChecker(new MyFormChecker);

Sadece sadece örneğin kullanmak istediğiniz sınıfın önünde formChecker sınıf dosyası içerir:

include "formChecker.php"

class runFormChecker{

     function __construct() {
      $obj = new formChecker;  // create instance
      // more processing............
     }  
}

Ancak, tek bir dosyanın içinde hem sınıfları (kötü olan) varsa, o dosyayı eklemek gerek, o hemen örn örneğini oluşturabilirsiniz:

class formChecker{
  // ............
}

class runFormChecker{

     function __construct() {
      $obj = new formChecker;  // create instance
      // more processing............
     }  
}

More Information Here....

Teşekkürler :)

Evet, bu garip değil. Genellikle bir örneğini içinde formChecker örneğini yaratacak runFormChecker olsa, değil sınıf düzeyinde.