Stworzenie obiektu i zadanie rekurencyjne

0

Witam w załączniku dodałem plik z zadaniem i potrzebuje pomocy w podpunkcie 3,4.
3 podpunkt zacząłem lecz mam problemy screen także w załączniku.
a co do 4 nie mam pomysłu

0

A jaki to problem masz w zadaniu 3? Bo ja błąd widzę, ale chciałbym się dowiedzieć co wg Ciebie nie działa

0
axelbest napisał(a):

A jaki to problem masz w zadaniu 3? Bo ja błąd widzę, ale chciałbym się dowiedzieć co wg Ciebie nie działa

Jak poprawnie stworzyć obiekt wraz z metodami w php bo dopiero zaczynam obiektowość i mogę walić błędy składniowe.

0

Wg mnie metoda dodajOsobe jest zbędna, zrób konstruktor z kilkoma parametrami i przy tworzeniu obiektu przekazuj je od razu (od tego jest właśnie konstruktor). Wklej potem kod - zobaczę czy dobrze to zrobiłeś

0
axelbest napisał(a):

Wg mnie metoda dodajOsobe jest zbędna, zrób konstruktor z kilkoma parametrami i przy tworzeniu obiektu przekazuj je od razu (od tego jest właśnie konstruktor). Wklej potem kod - zobaczę czy dobrze to zrobiłeś

class osoba{
	
public $imie;	
public $nazwisko;
public $wiek;	
	public function __construct($name,$nazwisko,$wiek){
	$this->imie=$name;	
	$this->nazwisko=$nazwisko;
    $this->wiek=$wiek	;
	}
	public function pokazOsobe(){
		
		echo $this->imie;
		echo " ";
		echo $this->nazwisko;
			echo " ";
		echo $this->wiek;
	}

}

$osoba=new osoba('Piotr','Moje Nazwisko','21');


$osoba->pokazOsobe();

```php

tak zrobiłem zdaje sie okej ale jak zrobić 4 zadanie :)
0
class osoba{
	
public $dane=Array();
	public function __construct($name,$nazwisko,$wiek){
	$this->dane['imie']=$name;	
	$this->dane['nazwisko']=$nazwisko;
    $this->dane['wiek']=$wiek	;
	}
	public function pokazOsobe(){
		
		echo $this->dane['imie'];
		echo " ";
		echo $this->dane['nazwisko'];
			echo " ";
		echo $this->dane['wiek'];
	}

}

$osoba=new osoba('Piotr','Moje Nazwisko','21');


$osoba->pokazOsobe();



poprawione
0
class Osoba
{
    private $dane = ['imie','nazwisko','wiek'];

    public function dodajOsoba()
    {

        $daneUzupelniajace=['Piotr','nazwisko',21];
        $this->dane=array_combine($this->dane,$daneUzupelniajace);
        return $this;

    }

    public function pokazOsoba()
    {
        print_r($this->dane);
    }
}


$osoba=new Osoba();
$osoba->dodajOsoba()->pokazOsoba();

To zadanie z punktu widzenia logiki jest bezsensu. Po co tworzyć na starcie klucze a potem je uzupełniać ? rozwiązań tego jest masę, można np też wypełnić klucze pustą wartością i potem przypisać w metodzie dodajOsobe.. imo widać, że zadanie nieprzemyślane przez nauczyciela.

Zauważ, jaki błąd robisz. Nie czytasz polecenia. pisze w nim, żeby utworzyć pole dane **juz **z kluczami a nie dopiero je tworzyć podczas przypisywania wartości.

w 4 musisz po prostu użyć rekurencji. Imo kolejne kretyńskie zadanie, bo mając parent_id można w warunku ustawić Where is_parent is null łącząc jonem je ze sobą i otrzymasz to samo bez zabijania serwera.
sprawdz https://stackoverflow.com/questions/20215744/how-to-create-a-mysql-hierarchical-recursive-query

1 użytkowników online, w tym zalogowanych: 0, gości: 1