çocuktan özel değişken erişim, bu yüzden PHP sınıflarını tasarlarken karşılaştığım bir sorunu çözmeye çalışıyorum. Bir temel sınıf oluşturdum ve özel değişkenler atadım. Bu temel sınıfı genişleten alt sınıflarım var, bu da temel sınıfın işlevleri aracılığıyla bu özel değişkenlere referans ve değişiklikler yapıyor. İşte bir örnek ben hala private
ve protected
yöntem arasındaki fark hakkında karıştı akılda tutmak, var/değişkenleri (ben yanlış yapıyorum bana bildirin!):PHP
base.class.php
<?php
class Base {
private $test;
public function __construct(){
require('sub.class.php');
$sub = new Sub;
echo($this->getTest());
}
public function getTest(){
return $this->test;
}
protected function setTest($value){
$this->test = $value;
}
}
?>
sub.class.php
<?php
class Sub extends Base {
public function __construct(){
parent::setTest('hello!');
}
}
?>
Yani sonuç ekrana yazdırılacak hello!
olmasını beklediğiniz - yerine bir şey yok. Benim üzerimde sınıfların yanlış anlaşılması olabilir ya da belki yanlış bir şey yapıyorum. Herhangi bir rehberlik çok takdir edilmektedir! Teşekkürler.
DÜZENLEME:
bir cevap emeği geçen herkese teşekkür ederim - mükemmel çözümlere rağmen, o çocuk sınıfları ihtiyacım olmayan neyi aslında, bence - noktada daha faydalı olabilir sınıfları temsilci görünüyor gibi Baz fonksiyonlarını diğer sınıflardan referans almaya ihtiyacım yok.
deneyin yankı ($ alt> getTest()); – bumperbox
[PHP5 OOP] 'ı deneyin (http://www.php.net/oop5). – meze
Ekranda bir şey çıktı almak için hiçbir “echo” veya “print” yok – zerkms