Jump to content
php.lv forumi

__construct


Recommended Posts

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 post
Share on other sites

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 post
Share on other sites
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
Link to post
Share on other sites

<?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 post
Share on other sites
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 post
Share on other sites
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 post
Share on other sites

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 post
Share on other sites
×
×
  • Create New...