Jump to content
php.lv forumi

Recommended Posts

Posted

<?php
class klase_1{
function class1_func($mainigais_clas1){
	echo $this->mainigais_clas1;
	return $this->mainigais_clas1; 
}
}
$klase = &new klase_1(); 

class klase_2{
function klase_divi{
	//man jālieto ir pirmas klases funkcija
	$klase->class1_func();
}
}
$klass2 = &new klase_2();
$klass2->klase_divi; //jaizvada 1 kalses  funkciju
?>

 

Pareizi es to daru?

Posted
<?php
class klase_1{
function class1_func($mainigais_clas1){
	echo $this->mainigais_clas1;
	return $this->mainigais_clas1; 
}
}
$klase = &new klase_1(); 

class klase_2{
function klase_divi{
	//man jālieto ir pirmas klases funkcija
	$klase->class1_func();
}
}
$klass2 = &new klase_2();
$klass2->klase_divi; //jaizvada 1 kalses  funkciju
?>

 

Pareizi es to daru?

 

 

Jautājums bez papildus informācijas nav atbildāms.

Ja class1_func neizmanto parametrus no class1, tad deklarē static un miers

Citādi, $c1 = new class1();

$c1->f1();

Principā, case of bad design, pārdomā, ko tu dari :)

Posted

<?php
class A{
  function foo($aaa){
  echo $this->aaa;
  return $this->aaa;
  }
}

class B{
  function bar(){
   A::foo("aa");
  }
}

$a = new A();
$a->foo();
echo '<br>';
$b = new B();
$b->bar();
?>

Warning: Missing argument 1 for A::foo(), called in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\oop\test_class_in_class.php on line 21 and defined in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\oop\test_class_in_class.php on line 5

 

Notice: Undefined property: A::$aaa in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\oop\test_class_in_class.php on line 7

 

Notice: Undefined property: A::$aaa in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\oop\test_class_in_class.php on line 8

 

 

Notice: Undefined property: B::$aaa in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\oop\test_class_in_class.php on line 7

 

Notice: Undefined property: B::$aaa in C:\Program Files\Apache Group\Apache2\htdocs\priv\serveris\macibu\oop\test_class_in_class.php on line 8

Posted

Zoom: lūdzu izdari pakalpojumu visiem - neprogrammē OOP (prasīt neprogrammēt vispār laikam ir bezjēdzīgi).

 

Tu tka nesaproti, ko nozīmē -> ne arī :: Tik uz dullo visu mēģini.. Atver kādu tutoriāli tak un palasi, kautvai to pašu manuāli.

Posted

class Printer
{
function printer(& $item)
  {
	$this->item = $item;
  }

  function print()
 { 
	echo $this->item->getContent();
 }
}

 

PS: ti ktiešām, bez PHP/OOP sintakses zināšanas un specifikas tālu netiksi ar tiem objektiem

Posted (edited)

Var dažādi, atkarībā, ko vajag :) Tikai ne tā, kā tev ir darīts. Un, ja gribi oop, lieto php5. ātrāk pie skaidrības varbūt tiksi...

class Klase_1{
private $mainigais_clas1 = NULL;

public function __construct() {
	$this->mainigais_clas1 = 'Klases 1 mainigais';
}

public function class1_func(){
	echo $this->mainigais_clas1;
	return $this->mainigais_clas1;
}
}
class Klase_2{
private $class1_obj = NULL;

public function __construct(Klase_1 $class1_obj) {
	$this->class1_obj = $class1_obj;
}
public function class2_func() {
	//man jālieto ir pirmas klases funkcija

	$this->class1_obj->class1_func();
}
}
$klass2 = new Klase_2(new Klase_1());
$klass2->class2_func(); //jaizvada 1 klases  funkciju

class Klase_1{
private $mainigais_clas1 = NULL;

public function __construct() {
	$this->mainigais_clas1 = 'Klases 1 mainigais';
}

public function class1_func(){
	echo $this->mainigais_clas1;
	return $this->mainigais_clas1;
}
}
class Klase_2 extends Klase_1{	

public function class2_func() {
	//man jālieto ir pirmas klases funkcija

	$this->class1_func();
}
}

$class2 = new Klase_2();
$class2->class2_func(); // izvada pirms klases funkciju
$class2->class1_func(); // arī izvada pirmās klases funkciju;)

 

Ak jā, un ja jēgā gribi tikt, tad definē tomēr katrai klasei mainīgos sākumā, un nevis lieto fīču, kura ļauj šos radīt on the fly

Edited by john.brown
×
×
  • Create New...