PHP wetenswaardigheden
Toch blijft PHP verrassen.
Zo heeft PHPHulp mij helpen herinneren aan een verschil in werking tussen de operatoren "&&" en "and".
En vandaag ben ik er achter dat namen van klassen ongevoelig zijn voor hoofd- en kleine letters (autoloaders?).
Wat is het meest opmerkelijke wat jij bent tegengekomen, en hoe heb je dat opgelost?
https://www.php.net/manual/en/function.date-sunset.php
https://www.php.net/manual/en/function.date-sunrise.php
Werkt prima overigens.
Gewijzigd op 22/04/2021 17:07:30 door - Ariën -
ReflectionObject - daar heb ik een hele mooie debug error handler mee kunnen maken (debug_backtrace() "aankleden").
Bijvoorbeeld dat je, vereenvoudigd, dit ontwerp ...
... zo kunt gebruiken ...
Code (php)
Ad Fundum op 26/04/2021 09:48:47:
Dit is daadwerkelijk gedefinieerd gedrag van PHP. Zodra nummers erg groot worden (groter dan in een INT past) maakt de interpreter er automatisch een float van.
- Ariën - op 26/04/2021 09:53:52:
Strings als array's behandelen.
Dit is omdat PHP op C is gebouwd waar een String niets meer is dan een array van chars ;)
Er zijn heel veel leuke (en minder leuke) truukjes mogelijk met PHP, grotendeels omdat het loose-typed is (denk aan de werking van autoloaders bijvoorbeeld).
Zo kun je on-the-fly een HATEOAS API uitlezen en intreperteren, met Reflection code genereren om deze af te handelen en de resulterende code naar het filesystem schrijven om bij een volgend request te hergebruiken (soort van "caching" dus). Of je dat moet willen is een tweede natuurlijk.
Gelukkig is de rest, zoals variabele namen wel case sensitive.
En die chars moet je ook even goed bij stilstaan. Wat als je je .php-bestand opslaat als UTF-8, en je doet dit:
Leuk om te lezen over HATEOAS! Ik wist niet dat wat ik aan het doen was een naam had en al sinds 2008 bestond.