Obj in class function?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Manaus

Manaus

17/05/2008 13:59:00
Quote Anchor link
Beste php'ers,

Wat doet het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
public function add_deck(Deck $objDeck) {
        $this->cards = array_merge($this->cards, $objDeck->cards);
        return $this;
}

public function add_card(Card $objCard) {
        array_push($this->cards, $objCard);
        return $this;
}

?>

Die dingen hoe werkt dat?
Snap niet goed wat het doet...
Gewijzigd op 01/01/1970 01:00:00 door Manaus
 
PHP hulp

PHP hulp

01/03/2024 05:49:19
 
Joren de Wit

Joren de Wit

17/05/2008 14:04:00
Quote Anchor link
PHP OOP

Het lijkt erop dat het methods uit een bepaalde klasse zijn. De een voegt twee arrays samen en de ander voegt een item aan een array toe. Maar hoe dat verder in relatie tot de klasse staat is hier natuurlijk niet uit te halen.
 
Manaus

Manaus

17/05/2008 14:05:00
Quote Anchor link
maar die klassen, wordt dat bepaald door gebruiker of door de function zelf?
Ik vind die functie niet op de php site:P
 
Joren de Wit

Joren de Wit

17/05/2008 14:14:00
Quote Anchor link
Die methods (een functie binnen een klasse) worden uiteraard door de gebruiker zelf geschreven, dat zijn geen bestaande PHP functies...
 
Manaus

Manaus

17/05/2008 14:19:00
Quote Anchor link
Klein vb:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
class lol {

}

class regen{
     public function add_card(Card $objCard) {
        array_push($this->cards, $objCard);
        return $this;
}
}

$lol = new lol();
$regen = new regen();
$regen->add_card($lol);
?>

zou dit dan moeten werken?
 
Joren de Wit

Joren de Wit

17/05/2008 14:22:00
Quote Anchor link
Quote:
zou dit dan moeten werken?
Probeer het uit zou ik zeggen?!

Dan zul je zien dat dit niet werkt omdat $lol geen instantie is van de klasse Card. En dat is een vereiste van de method add_card()...
 
Emmanuel Delay

Emmanuel Delay

29/06/2008 22:00:00
Quote Anchor link
Objecten meegeven aan een object van een andere class mag op zich wel.

stel, je hebt een class gastenboek. Daarin wil je een object van de class gebruiker meegeven als parameter. Wel, dat lukt.


voorbeeldje
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?
...
$m_gebruiker = new gebruiker();
$m_gebruiker->naam = $_SESSION['login'];
...


$m_gastenboek = new gastenboek();
$m_gastenboek->setBericht ($m_gebruiker, $_POST['bericht'], $_POST['link'], ...);

...


class gebruiker
{
function
gebruiker()
{...}
var
$naam;
var
$ip;
var
$email;
...
}



class gastenboek
{
...
function
setBericht ($m_gebruiker, $bericht, $link, ...)
{

$this->naam = $m_gebruiker->naam;
$this->ip = $m_gebruiker->ip;
$this->bericht = $bericht;

$geldige_email = $m_gebruiker->isGeldigeEmail(); // zie *
...

}
}

?>


Dan kan je dus alle gegevens van de gebruiker bundelen en in 1 keer meegeven als argument van een method van een andere class. Je krijgt niet alleen de properties mee, maar je kan ook de methods van gebruiker gebruiken. *
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.