2010-09-03 3 views
0

, поэтому я использую Wordpress, который загружает тему и, возможно, много плагинов, которые могут иметь функции с теми же именами, что и те, что указаны в теме.PHP - имя имени функции

Как избежать конфликтов имен функций между темой и плагинами, не переименовывая их в нечто вроде «theme_function()»?

ответ

4

Вы действительно не можете. Вам нужно переименовать свои функции таким образом, чтобы они не сталкивались с какой-либо другой функцией. Префиксные функции с названием вашей темы звучат довольно чисто и оптимально.

Возможные другие обходные пути, которые приходят на ум

  • Использование статического класса Theme и добавления каких-либо функций в том, что (Theme::function();) - не сильно отличается от добавления theme_ префикс к обычным именам функций, хотя

  • Как только PHP 5.3 широко распространен через несколько лет, вы можете использовать namespaces - это слишком рано на данный момент, если вы хотите создавать распространяемые темы или плагины.

+2

+1 для пространств имен – Treffynnon

+0

спасибо, я думаю, я поеду с префиксами тогда :) – Alex

1

Переименовать их. Это легко. Функции темы находятся в файле functions.php папки темы. Вы должны переименовать их, чтобы избежать конфликта.

Другой способ - использовать namespaces, но это потребует больше усилий, ИМО, а затем просто переименуйте несколько функций.

Смежные вопросы