Oznámení

Provoz fóra byl ukončen

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_*