Oznámení
společný config pro php4 i php5
před 12 lety
- juneau
- Člen | 166
Konečně jsem se rozhoupal k používání Texy2, což mi přineslo následující problém – nevím, jak vyřešit konfiguraci Texy v závislosti na verzi PHP.
if(version_compare(PHP_VERSION,'5.0.0')) require 'texy5.php'; // compact soubory
else require 'texy4.php';
Takto načítat různé verze Texy není problém, ale nechce se mi mít pro
každou verzi i z 99% identický konfigurační soubor. Na php4 mi script
končí Parser errorem na různých Texy::ALL
konstantách a jsem
nahraný. Najde se nějaký fígl, nebo mi nezbyde než společně s různými
texyX.php načítat i texyX.config.php?
před 12 lety
- Acci
- Člen | 83
Vždyť Texy2 je i pro PHP4, ne?
před 12 lety
- juneau
- Člen | 166
No to ano, ale mají jiný zápis konstant v konfiguraci. O vlastní soubory tedy ani nejde.
if($php5)
$texy->allowedTags = Texy::ALL;
else
$texy->allowedTags = TEXY_ALL; // php4
Toto projde na php5, ale při spuštění na php4 to skončí parse errorem (Texy::ALL).
před 12 lety
- juneau
- Člen | 166
Tedy… po mejlovém nakopnutí od Acciho jsem místo Texy::ALL použil
původní TEXY_ALL (…) konstanty (v changelogu nebo jinde by zmínka
o jejich zpětné kompatibilitě bodla, od rev.111 jsem je považoval za
odstraněné, ačkoli pak jsem je ve zdrojáku našel) a vše funguje. Tedy php4
(4.3.10?) se ještě nelíbí public function ...
a také
řetězení return TexyHTML:ell()->setText(...);
v GESHI
handleru, ale to už se dá ošetřit/promazat.
Takže tak.
PS: je zachováno i TEXY_HEADING_FIXED (…)? Zdá se, že mi funguje dle očekávání, ale v souborech jsem o něm narozdíl od TEXY_ALL nenašel ani zmínku.
před 12 lety
- David Grudl
- Nette Core | 6806
Kvůli komplikacím s jednotnou konfigurací Texy pro PHP4 a PHP5 jsem
přidal podporu i pro původní konstanty. Takže je možné používat
TEXY_ALL
nebo TEXY_NONE
.
Ad zřetězení + klíčové slovo public: obojí jsem z příkladů a pluginů odstranil (snad bez chyb), takže teď by vše mělo fungovat i v PHP4.
Ad TEXY_HEADING_FIXED: od rev. 150 je možné používat i konstanty TEXY_HEADING_*