ints en strings

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Milo S

Milo S

03/03/2014 22:11:59
Quote Anchor link
Als ik het zo zie als Koen het nu laat zien zou ik zeggen dat dat wellicht nog wel makkelijker is, maar zoals je zelf al zegt wat zijn de voor- en nadelen van beide.

Een nadeel noemt Koen zelf wat betreft het gebruik van strings, je zult hem moeten converteren voor je database. Aan de andere kant, nu moet je hem converteren voor je weergave. Als je het mij vraagt lood om oud ijzer.
Voordeel wat hij geeft betreft male/man vindt ik dan weer wel noemenswaardig in deze situatie.
 
PHP hulp

PHP hulp

22/12/2024 05:54:26
 
Ozzie PHP

Ozzie PHP

03/03/2014 22:29:04
Quote Anchor link
Nou, het is vooral (zo ik er tegenaan kijk) dat je niet zelf de juiste waarde hoeft te verzinnen. Je kijkt gewoon bij de class constants welke opties je hebt. Je kunt zeg maar geen niet bestaande waarde invullen. Dat is op zich denk ik het grootste voordeel.
 
Milo S

Milo S

03/03/2014 23:06:41
Quote Anchor link
Daar heb je ook zeker een punt...
 
Ozzie PHP

Ozzie PHP

04/03/2014 00:00:53
Quote Anchor link
Wouter J op 03/03/2014 17:12:42:
>> Speciale reden voor?

Constants zijn 1 van de meest misbruikte dingen in PHP. Als je constants wil gebruiken moet je iets van Gender::MALE en Gender::FEMALE hebben en dan zou gender een Value Object worden, wat in dit geval totaal overdone is.

Als je een object met constants wil gebruiken, kun je dan eigenlijk in de ontvangende functie afdwingen dat de juiste class wordt gebruikt om de constant values op te halen?

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

class Gender {

  const MALE = 1;
  const FEMALE = 2;

}


class User {}

  public function setGender($gender) {

  }

}

?>

Kun je nu in de setGender method afdwingen/typehinten of controleren dat $gender een waarde moet zijn uit de Gender class? Of kun je dat alleen in je commentaar aangeven?
Gewijzigd op 04/03/2014 00:01:11 door Ozzie PHP
 
Reshad F

Reshad F

04/03/2014 18:26:25
Quote Anchor link
kan je niet

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

public function setGender(Gender $gender)

?>


doen?

http://www.php.net/manual/en/language.oop5.typehinting.php
Gewijzigd op 04/03/2014 18:27:18 door Reshad F
 
Ozzie PHP

Ozzie PHP

04/03/2014 18:31:40
Quote Anchor link
Dankjewel voor je reactie. Hoe zie je dat precies voor je?

Het zou kunnen maar dan moet ik er een class aan meegeven.

Dan krijg je dus zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?ph
$user->setGender(new Male());
?>

Is dat niet een vreemde manier?
 
Wouter J

Wouter J

04/03/2014 21:45:28
Quote Anchor link
Reshad, wil blijkbaar een Value Object gebruiken: new Gender('male') Deze valideert het gender, houdt het vast en heeft bijv. een __toString method. Dit is goed als je value andere waardes kan aannemen en ook validatie etc. nodig heeft. Hier vind ik het een beetje teveel van het goede.
 
Ozzie PHP

Ozzie PHP

04/03/2014 21:48:56
Quote Anchor link
Maar stel dat je het zo doet als in 2 berichten hierboven van mij, dus dat je een Gender object gebruikt met constants, kun je dan in de setGender method controleren/typehinten of de constants afkomstig zijn van de Gender class?
 
Wouter J

Wouter J

04/03/2014 22:39:07
Quote Anchor link
Een klasse met alleen constants is compleet nutteloos naar mijn mening...
 

Pagina: « vorige 1 2



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.