2010-03-31 4 views
2

Я просматривал файл template.php для темы rootcandy и заметил, что некоторые из имен функций начинаются с символа подчеркивания т.е.Подчеркивание перед именем темы

function _rootcandy_admin_links() 

function rootcandy_body_class() 

Кто-нибудь знает, почему это? Я думал, что функции должны были начинаться с названия темы.

Большое спасибо

ответ

3

Обычно подчеркивание в начале идентификаторов означает «Это частный/внутренний материал. Вы, вероятно, не хотите возиться с ним из других модулей.»

+0

Спасибо Сэм. Я не считал, что вы можете просто написать свои собственные функции в template.php, поэтому имеет смысл подчеркнуть их с именем вашей темы. – screenm0nkey

-1

Что говорит SamB, а также: функции в template.php должны начинаться с имени темы, если они предназначены для переопределения существующей функции темы. Например, при переопределении theme_foo($variables) вы используете mytheme_foo($variables) в template.php темы «mytheme». Совершенно нормально добавлять свои собственные функции, например, calculate_some_value() или _calculate_some_value(), если это поможет вам составить код вашей темы.

+0

Вообще из-за отсутствия пространства имен в PHP вы не создаете функции, которые не содержат имя модуля или темы, чтобы избежать присвоения имени. Но это не лучшая практика. – googletorp

+0

-1 - ** Это не «отлично» **, чтобы назвать свои собственные функции, как вы пожелаете! Хотя верно, что только переопределения * технически необходимы *, чтобы начать с названия темы, другие функции должны делать это также, чтобы * предотвратить именование столкновений с другими модулями/темами * (соглашение о префиксах является своего рода решением «бедных мужчин» к отсутствию пространств имен в PHP) –

+0

Пожалуйста, если вы цитируете цитату правильно. Я не говорю, что это нормально назвать, как вы пожелаете. Все, что я хотел сказать, это то, что вы можете добавить свои собственные функции помимо функций переопределения темы. Прошу прощения, если бы я не уточнил достаточно. Правильная замена имен - это всегда хорошая практика. – marcvangend

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