protected variable uitlezen
Menigeen zal bij deze titel denken: Dat moet je niet willen!
Mee eens! Maar...
Ik ben bezig met het Zend_Framework en wil dit meertalig uit gaan voeren, zit er al lekker in verwerkt, echter wil POedit niet de constanten of protected variabelen die later door de ->_() functie worden gerost opnemen.
Dus ik wil een classe schrijven welke deze functies in een onnozel php bestand plompt, zodat poedit deze kan parsen.
Ik wil liever geen aanpassingen doen in het Zend_Framework, dan raakt het einde namelijk zoek.
Ik zou het liefst dynamisch een functie aan de klasse toevoegen om de protected variabele uit te lezen, heb alleen geen idee of dit mogelijk is. een var_dump kan ze ook uitlezen, dus ergens zou het toch moeten kunnen?
Mee eens! Maar...
Ik ben bezig met het Zend_Framework en wil dit meertalig uit gaan voeren, zit er al lekker in verwerkt, echter wil POedit niet de constanten of protected variabelen die later door de ->_() functie worden gerost opnemen.
Dus ik wil een classe schrijven welke deze functies in een onnozel php bestand plompt, zodat poedit deze kan parsen.
Ik wil liever geen aanpassingen doen in het Zend_Framework, dan raakt het einde namelijk zoek.
Ik zou het liefst dynamisch een functie aan de klasse toevoegen om de protected variabele uit te lezen, heb alleen geen idee of dit mogelijk is. een var_dump kan ze ook uitlezen, dus ergens zou het toch moeten kunnen?
Gesponsorde koppelingen:
Je zou eens naar de magic method __get() kunnen kijken? Als je die public maakt kun je op die manier de protected variable wel uitlezen:
Maar goed je zegt het zelf al, dan ondermijn je dus eigenlijk het protected declareren van die variabele. Dus vraag jezelf goed af of je dit echt wel wilt en of er geen andere methode is...
Code (php)
Maar goed je zegt het zelf al, dan ondermijn je dus eigenlijk het protected declareren van die variabele. Dus vraag jezelf goed af of je dit echt wel wilt en of er geen andere methode is...
In PHP 5.3 krijgt ReflectionProperty een nieuwe method: setAccessible. Hiermee kan je dan voortaan private & protected properties lezen & schrijven. bron.
Helaas is PHP 5.3 er nog niet, maar ik denk dat je wel ergens een nightly build van 5.3 of 6.0 kan vinden, en die naast je bestaande omgeving kan installeren. Of je download hem gewoon en draait PHP vanaf de commandline, dan hoef je niets te installeren (wel even opletten dat je een binary versie vindt, anders mag je hem gaan compilen)
Helaas is PHP 5.3 er nog niet, maar ik denk dat je wel ergens een nightly build van 5.3 of 6.0 kan vinden, en die naast je bestaande omgeving kan installeren. Of je download hem gewoon en draait PHP vanaf de commandline, dan hoef je niets te installeren (wel even opletten dat je een binary versie vindt, anders mag je hem gaan compilen)
hik
Gewijzigd op 01/01/1970 01:00:00 door Jelmer rrrr
BOEH! ;)
Okee, dat klinkt wel alsof het van toepassing kan zijn, maar ik wil graag wel op iets stabiels ontwikkelen.
Ik heb het maar anders opgelost, ik lees gewoon de bestanden in en ga opzoek naar een bepaald format. Ik ga toch voor elk type een aparte plugin schrijven, dus ik vind het wel verantwoord om het op deze manier op te lossen.
Okee, dat klinkt wel alsof het van toepassing kan zijn, maar ik wil graag wel op iets stabiels ontwikkelen.
Ik heb het maar anders opgelost, ik lees gewoon de bestanden in en ga opzoek naar een bepaald format. Ik ga toch voor elk type een aparte plugin schrijven, dus ik vind het wel verantwoord om het op deze manier op te lossen.
Ik weet niet of ik het goed begrijp dus sorry als dit niet is wat je zoekt:
Je kunt toch die class extenden en dan alleen een benodigde getter en/of setter maken.
Je kunt toch die class extenden en dan alleen een benodigde getter en/of setter maken.



