ray Posted October 31, 2007 Report Share 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. Link to comment Share on other sites More sharing options...
Vebers Posted October 31, 2007 Report Share 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}"; } } Link to comment Share on other sites More sharing options...
ray Posted October 31, 2007 Author Report Share 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 Link to comment Share on other sites More sharing options...
andrisp Posted October 31, 2007 Report Share Posted October 31, 2007 $klase->text('Jaunais teksts'); vietā $klase->text = 'Jaunais teksts'; Tāpat kā ar parastām funkcijām un mainīgajiem. Link to comment Share on other sites More sharing options...
ray Posted October 31, 2007 Author Report Share 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". Link to comment Share on other sites More sharing options...
andrisp Posted October 31, 2007 Report Share 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'; Link to comment Share on other sites More sharing options...
ray Posted October 31, 2007 Author Report Share Posted October 31, 2007 Paldies ;) Link to comment Share on other sites More sharing options...
xPtv45z Posted October 31, 2007 Report Share 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. Link to comment Share on other sites More sharing options...
ray Posted November 1, 2007 Author Report Share 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 Link to comment Share on other sites More sharing options...
marrtins Posted November 1, 2007 Report Share Posted November 1, 2007 vājprāts.... Link to comment Share on other sites More sharing options...
Robis Posted November 6, 2007 Report Share 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(); Link to comment Share on other sites More sharing options...
Recommended Posts