Jump to content
php.lv forumi

Recommended Posts

Posted

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.

Posted

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}";
}
}

Posted (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 by ray
Posted

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".

Posted

<?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';

Posted
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.

Posted
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

Posted

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();

×
×
  • Create New...