ray Posted October 31, 2007 Report Posted October 31, 2007 Ir šāda klase: class klase{ var $text; function __construct() { $this->text = "Te ir teksts"; } function show_text() { echo "{$this->text}"; } } un šāds kods, kas izsauc klasi: $teksts = new klase(); $teksts->text('Jaunais teksts'); $teksts->show_text(); Bet man izmet šādu kļūdas paziņojumu: Fatal error: Call to undefined method klase::text() in C:/bla/bla.php on line xx Nesaprotu, kas tur nav kodā pareizi, jo text ir nodefinēts.
Vebers Posted October 31, 2007 Report Posted October 31, 2007 text ir mainīgais nevis funkcija. Lai piešķirtu vērtību text, tad dari tā $klase->text = 'Jaunais teksts'; Bet lai darītu kā esi izdarījis (kas ir slikts variants): class klase{ var $text; function __construct() { $this->text = "Te ir teksts"; } function text($new_text) { $this->text = $new_text; return $this->text; } function show_text() { echo "{$this->text}"; } }
ray Posted October 31, 2007 Author Report Posted October 31, 2007 (edited) Lai piešķirtu vērtību text, tad dari tā $klase->text = 'Jaunais teksts'; man vnk ir jāizlabo šis? $teksts = new klase(); $klase->text('Jaunais teksts'); $teksts->show_text(); Edited October 31, 2007 by ray
andrisp Posted October 31, 2007 Report Posted October 31, 2007 $klase->text('Jaunais teksts'); vietā $klase->text = 'Jaunais teksts'; Tāpat kā ar parastām funkcijām un mainīgajiem.
ray Posted October 31, 2007 Author Report Posted October 31, 2007 Bet tagad man atkal ir tā, ka rādās nevis "Jaunais teksts" kā vajadzētu, bet tas kas ir definēts iekš __construct - "Te ir teksts".
andrisp Posted October 31, 2007 Report Posted October 31, 2007 <?php class klase{ var $text; function __construct() { $this->text = "Te ir teksts"; } function show_text() { echo "{$this->text}"; } } $teksts = new klase(); $teksts->text = 'Jaunais teksts'; $teksts->show_text(); ?> Smuki izdrukā 'Jaunais teksts';
xPtv45z Posted October 31, 2007 Report Posted October 31, 2007 man vnk ir jāizlabo šis? $teksts = new klase(); $klase->text('Jaunais teksts'); $teksts->show_text(); ray, lai nu kā, bet es tevi patiesi apbrīnoju. Kā vispār iespējams kodēt, ja nejēdz pat no priekšā uztrakstīta piemēra, mainīgo samainīt uz sev nepieciešamo.
ray Posted November 1, 2007 Author Report Posted November 1, 2007 ray, lai nu kā, bet es tevi patiesi apbrīnoju. Kā vispār iespējams kodēt, ja nejēdz pat no priekšā uztrakstīta piemēra, mainīgo samainīt uz sev nepieciešamo. es vnk pārskatījos
Robis Posted November 6, 2007 Report Posted November 6, 2007 Nedaudz labāk izskatās sekojoši: class Klase { private $text; function __construct() { $this->text = "Te ir teksts"; } public function setText($val) { $this->text = $val; } public function getText() { return $this->text; } } $teksts =& new Klase(); $teksts->setText('Jaunais teksts'); echo $teksts->getText();
Recommended Posts