Wat betekent dit (-> & =>)?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Alter Ego

Alter Ego

15/06/2015 12:23:57
Quote Anchor link
Goedendag allen,

Momenteel ben ik bezig met het schrijven van een Drupal module, alles werkt na behoren, maar heb enkele vragen over de PHP operators.

Wat betekent de volgende operator '->' bijvoorbeeld? Ik gebruik deze operator in de volgende regel code: $query = db_query("SELECT * FROM node WHERE nid = $id")->fetchObject();.

Ik zelf denk dat hij de class fetchObject aanroept en uitvoert, maar ben hier niet zeker van of dit de jusite uitleg is daarvoor. Zo heb ik ook de '=>' operator die ik gebruik in array. Wat mij logisch lijkt is dat hij hiermee een waarde toe kent?


Twee beginners vragen, maar ik hoop dat hier toch duidelijk antwoord opgegeven kan worden.


Alvast dank,
Alter Ego
Gewijzigd op 15/06/2015 12:43:27 door Alter Ego
 
PHP hulp

PHP hulp

22/12/2024 10:30:48
 
Ivo P

Ivo P

15/06/2015 14:39:12
Quote Anchor link
-> gebruik je inderdaad bij objecten.

Bijvoorbeeld

$myObject->foo;

dit geeft je de property foo van $myObject.

$myObject->bar();

dit roept de method (zo je wilt "function") in de class van $myObject aan.
---

in nieuwere versies van php kun je ook de -> gebruiken in combinatie met een functie-aanroep die een object terug geeft:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$myObject
= db_query('SELECT....');
$query = $myObject->fetchObject();

?>



Toevoeging op 15/06/2015 14:41:51:

=> gebruik je als je met array's werkt

$myArray = array('foo' => 'bar', 'aap' => 'noot');

Dat levert je een array op met 2 elementen.

$myArray['foo'] is dan 'bar', en $myArray['aap'] = 'noot'
 
Henk de Vriep

Henk de Vriep

15/06/2015 14:43:23
Quote Anchor link
Met de -> benader je een variabele (of functie) in een object, dit wordt gebruikt in classes. Voorbeeld

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
<?php

class User{

public $name = "Henk"
public $lastname;

public function setLastame($input){
$this->lastname = $input;
}


public function getLastame(){
return $this->lastname;
}


$user = new User;

$user->setLastname("de Vriep");

echo $user->name; //output: Henk
echo $user->getLastname(); //output de vriep

}

?>


De => wordt gebruikt om relaties aan te brengen in een array tussen een key en een value

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$credentials
= array("voornaam" => "Henk" , "tussenvoegsel" => "de" , "lastname" => "de Vriep");

echo "Mijn naam is". $credentials['voornaam'] ." ". $credentials['tussenveogsel'] ." ". $credentials['achternaam'];// Output: Henk de vriep

?>
Gewijzigd op 15/06/2015 15:01:21 door Henk de Vriep
 
- SanThe -

- SanThe -

15/06/2015 14:48:22
Quote Anchor link
//output Henk de Vriep

Is dat niet alleen 'de Vriep'?
 
Ivo P

Ivo P

15/06/2015 14:50:48
Quote Anchor link
Henk de Vriep op 15/06/2015 14:43:23:
Met de -> benader je een object in een variabele,


ik zou het omdraaien: de variabele in je object.
 
Henk de Vriep

Henk de Vriep

15/06/2015 15:01:54
Quote Anchor link
@-SanThe, klopt

@Ivo P, ja verkeerd om gezet inderdaad
 
Ward van der Put
Moderator

Ward van der Put

15/06/2015 15:35:51
Quote Anchor link
De -> heet officieel objectoperator (T_OBJECT_OPERATOR) en de => slechts dubbele pijl (T_DOUBLE_ARROW).

List of Parser Tokens
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/06/2015 17:18:46
Quote Anchor link
Belangrijk is dat de lezer begrijpt dat de objectoperator wijst naar een instance van de class en niet naar de class zelf.
 



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.