2010-12-29 6 views
2

nie eine Frage hatten beide realisieren ich erst jetzt Google konnte, und es kann ein doozy sein:Kombination 2 PHP-Frameworks, die __() Internationalisierung Funktion

Ich habe ein PHP site, die Wordpress kombiniert mit Kohana - Wordpress für der Blog und Kohana für die benutzerdefinierte Funktionalität. Dies geschieht mit einem Wordpress plugin that stitches them together.

Dies funktioniert gut, außer dass sie sowohl eine __() Internationalisierung Funktion, mit verschiedenen Argumenten definieren, so einmal usw. Wordpress kohana ist außer Kraft gesetzt hat __(), wenn kohana __() nennt es explodiert.

Ich bin nicht , dass mit PHP vertraut, so dass dies naiv sein könnte, aber sollte dieses Zeug Namespace nicht sein? Gibt es trotzdem etwas anderes, als die Quelle des einen oder anderen Frameworks zu ändern, damit sie ihre eigenen __() aufrufen können?

+0

Versuchen Sie [SymbolHound.] (Http://symbolhound.com/?q=wordpress+__%28%29). So habe ich diesen Beitrag gefunden. – Chloe

Antwort

3

Ich habe einige Arbeit bei der Integration von Wordpress mit Kohana getan. Siehe this post. Es ist einfacher, __() in Kohana umzubenennen und zu ersetzen, als dies für Wordpress zu tun, vertraue mir.

+0

Danke. Ich weiß nicht, wie ich diese Frage verpasst habe. – mclin

1

Namespaces sind neu in PHP 5.3. Fast alle existierenden Softwareprojekte verwenden sie nicht, da sie mit älteren Versionen von PHP kompatibel sein wollen. Viele (die meisten?) Sind nicht einmal objektorientiert! Sie könnten jede Instanz von __ durch einen anderen gültigen (und eindeutigen!) Funktionsnamen in einem der Projekte ersetzen, aber das macht die Aktualisierung dieses Projekts schwierig, obwohl es wahrscheinlich die beste Lösung ist.

0

Die Verwendung von Namespaces kann eine langwierige Aufgabe sein, da Sie möglicherweise viel Code ändern müssen. Ich würde vorschlagen, ersetzen Sie die __() -Funktion in Wordpress mit einem anderen Namen.