[Feature] Magic methode om object naar integer te casten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Jetse Jacobi

Jetse Jacobi

10/06/2016 10:52:55
Quote Anchor link
Php 7 wordt steeds meer OOP, waardoor ik nu echt een magic methode mis om een eigen IntegerObject naar een integer kan casten. Kan er in een volgende release net als een __toString() methode een __toInt() of __toInteger() methode aangemaakt worden die aangeroepen wordt op het moment dat je objecten bij elkaar op wilt tellen of door elkaar wilt delen?
Gewijzigd op 20/06/2016 09:56:41 door - Ariën -
 
PHP hulp

PHP hulp

22/11/2024 00:13:13
 
Thomas van den Heuvel

Thomas van den Heuvel

10/06/2016 11:07:31
Quote Anchor link
Je bericht staat om meerdere redenen op de verkeerde plaats:

* De medewerkers van dit forum hebben geen zeggenschap over de werking van PHP :). Dit is een community-site voor het uitwisselen van informatie / het stellen van vragen over PHP. Dit is een gebruikersplatform.

* De rubriek "bugs & feature request" betreft specifiek bugs en feature requests van het forum zelf. Dit gaat niet over de intrinsieke werking van PHP.

Dat gezegd hebbende. Waarom zou je een object willen introduceren voor een integer? Integer is al een type in (o.a.) PHP. Daarnaast is PHP redelijk type agnostisch en voert zelf conversies uit indien dit nodig is. Of handmatig/expliciet via een typecast middels (int) $var. En tot slot is PHP een hybride taal, zodat je ... eh... *kuch* "the best of both worlds" hebt :). Je kunt je integers ook gewoon integers laten zijn?
 
Jetse Jacobi

Jetse Jacobi

10/06/2016 11:17:47
Quote Anchor link
Omdat ik graag van een integer wil kunnen overerven. Ik maak gebruik van value objects, die controles uitvoeren op het moment dat je ze aanmaakt. Dus dat ik alleen maar in de constructor van dit object de is_numeric() hoef aan te roepen. En in de childClass Afstand alleen maar de isValid() methode hoef te overschrijven met een check of deze waarde boven de 0 is, en een __toString methode waarin de meters automatisch naar km en m omgerekend wordt. En om de snelheid te berekenen wil ik dan gewoon dit Afstand object kunnen delen door een Tijd object.
 
Thomas van den Heuvel

Thomas van den Heuvel

10/06/2016 11:33:20
Quote Anchor link
Ik denk dat ik ongeveer volg wat je probeert te bereiken. Ik weet echter niet of dit de beste/eenvoudigste manier is. En "Afstand" als child class van "Integer"? I dunno man...

Deze numerieke grootheden lijken mij meer eigenschappen van een (ander?) object (dit puzzelstuk ontbreekt mogelijk nog)?

Natuurlijk is het belangrijk om input te filteren (te controleren of je daadwerkelijk met numerieke waarden van doen hebt), maar dat wil niet zeggen dat je hiervoor allemaal objecten nodig hebt? PHP is geen OOP taal pur sang.
 
Ward van der Put
Moderator

Ward van der Put

10/06/2016 12:26:22
Quote Anchor link
Ik gebruik dit type value object zelf ook met een duidelijke reden: MySQL heeft veel meer typen integers dan PHP. Dan is een hiërachie van value objects die uit de voeten kunnen met signed versus unsigned, wel of geen 0 en verschillende maxima wel handig.

De methode __toString() voldoet daarbij echter prima, omdat de value objects uiteindelijk toch in een string belanden voor SQL. De waarden op zich hebben weinig betekenis; je moet ze in de ruimere context van SQL zien.

Voor een afstand zou ik echter geen child van een integer gebruiken: dat is spatial data en die kun je vaak beter anders modelleren. Een afstand is op zich namelijk ook niets, maar iets dat wordt bepaald door een beginpunt, een eindpunt en de rechte lijn of polygoon die beide punten verbindt.
 
- Ariën  -
Beheerder

- Ariën -

20/06/2016 09:56:24
Quote Anchor link
Thomas van den Heuvel op 10/06/2016 11:07:31:
Je bericht staat om meerdere redenen op de verkeerde plaats:

* De medewerkers van dit forum hebben geen zeggenschap over de werking van PHP :). Dit is een community-site voor het uitwisselen van informatie / het stellen van vragen over PHP. Dit is een gebruikersplatform.

* De rubriek "bugs & feature request" betreft specifiek bugs en feature requests van het forum zelf. Dit gaat niet over de intrinsieke werking van PHP.

We stellen het zeer op prijs als je in het vervolg een bericht naar het moderatie-meldpunt zou kunnen sturen.

Anyway, dit topic is nu verhuisd naar de juiste plek.
 

20/06/2016 14:13:21
Quote Anchor link
Ik mis nog wel meer aan PHP (bv. multiple inheritance), maar je moet het er gewoon mee doen (traits gebruiken).
Uiteindelijk telt wat je hebt gemaakt het meest, niet zozeer het technische hoe.
 



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.