Jak na konstantu v neonu?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- maarlin
- Člen | 207
Pro jistotu hned na začátek: Ne, nejde mi o ty tolikrát propírané
konstanty APP_DIR
, WWW_DIR
apod.
Snažím se napsat testy na knihovnu, která pracuje s XML a mění trochu své chování na základě verze libxml (popravdě se snaží workaroundovat bug v jedné ze starších verzí).
Třídu jsem záměrně napsal tak, abych mohl verzi libxml mockovat, tudíž napsat testy, které ověří, že se vše chová jak má při daných verzích.
<?php
class MyClass {
private $libXmlVersion;
public function __construct( $libXmlVersion ) {
$this->libXmlVersion = $libXmlVersion;
}
public doSomething() {
if( $libXmlVersion < 207002 ) {
// that's bad, we need to workaround this
}
// good for you
}
?>
Problém teď ale je, když potřebuji předat v configu aktuální verzi
libxml, která se nachází v konstantě LIBXML_VERSION
.
myclass:
class: MyClass
arguments: [ LIBXML_VERSION ]
Nenašel jsem způsob, jak zadat konstantu, aniž by mi ji NeonParser
překódoval do stringu.
Jde to? Pokud ne, je pro to nějaký důvod?