Объединение двух PHP-фреймворков, которые оба реализуют функцию интернационализации __ () - PullRequest
2 голосов
/ 29 декабря 2010

У меня никогда не было вопросов, которые я не мог найти в Google до сих пор, и это может быть глупо:

У меня есть PHP-сайт , который сочетает в себе Wordpress с Kohana - Wordpress для блога и Kohana для пользовательской функциональности. Это делается с помощью плагина Wordpress, который объединяет их .

Это прекрасно работает, за исключением того, что они оба определяют функцию интернационализации __(), с различными аргументами и т. Д., Так что как только wordpress отменяет __() коаны, если коана вызывает __(), она взрывается.

Я не , который знаком с PHP, так что это может быть наивно, но разве это не должно быть пространством имен? Есть ли что-либо кроме изменения источника той или иной платформы, чтобы позволить им вызывать свои собственные соответствующие __()?

Ответы [ 3 ]

3 голосов
/ 29 декабря 2010

Я проделал некоторую работу по интеграции Wordpress с Kohana.Смотрите этот пост .Поверьте мне, проще переименовать и заменить __ () в Kohana, чем сделать это для Wordpress.

1 голос
/ 29 декабря 2010

Пространства имен являются новыми в PHP 5.3. Почти все существующие программные проекты не используют их, поскольку они хотят быть совместимыми со старыми версиями PHP. Многие (большинство?) Даже не объектно-ориентированы! Вы можете заменить каждый экземпляр __ другим допустимым (и уникальным!) Именем функции в одном из проектов, но это затруднит обновление этого проекта, даже если это, вероятно, лучшее решение.

0 голосов
/ 29 декабря 2010

Использование пространств имен может быть утомительной задачей, поскольку может потребовать значительного изменения кода. Я бы предложил заменить функцию __ () в Wordpress другим именем.

...