Новости Joomla

20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет

20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет

👩‍💻 20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет. Вокруг неё сложилось большое интернациональное русскоязычное сообщество. На сайте нашего сообщества и на Хабре к юбилею были собраны интервью с его видными представителями. Сегодня мы читаем интервью с Ринатом Кажетовым (@rkazhet). Ринат - один из администраторов чата русскоязычного Joomla-сообщества, из Казахстана. Это человек, который всегда знает или найдёт нужную ссылку, пристально следит за новостями в мире Joomla, многое узнаёт первым и просто очень отзывчивый человек. Интервью с Ринатом взял Евгений Сивоконь.Читать интервью@joomlafeed#joomla #community

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 2803 Просмотров
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Здравствуйте. В исходнике это
Код: php
function nameQuote( $s )
{
// Only quote if the name is not using dot-notation
   if (strpos( $s, '.' ) === false)
{
$q = $this->_nameQuote;
if (strlen( $q ) == 1) {
return $q . $s . $q;
} else {
return $q{0} . $s . $q{1};
}
}
else {
return $s;
}
}
Где-то интуитивно понимаю, что проверяет строку $s, но каким образом и на что именно.
Почему именно точка так интересует. Если точка есть, то
не проверяем, а если нет то что-то добавляем в начало и конец.
Откуда берется _nameQuote и что содержит, первое что приходит в голову какие-то экранирующие символы.
Почему ее нужно добавлять в начало и конец $S, если в ней один символ.
Что за конструкция $q{?} (по ней здесь http://www.php.ru/ ответа не нашел, но если честно даже не знаю как запрос составить) и что в результате она добавляет в строку $s.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Данная функция используется для обертки имен в апострофы, т.е. чтобы имена полей в SQL-запросах к БД выглядели вот так:

Код: sql
select `username` from jos_users where `id` = 62;

Внутри этой функции есть защита от дурака, чтобы если вдруг имя содержит точку, оно не оборачивалось, ведь в качестве аргумента может быть не просто имя, а имя и алиас таблицы: u.name, тогда запрос будет выглядеть вот так:

Код: sql
select u.username from jos_users as u where u.id = 62;

В этом случае, данные названия полей нет необходимости оборачивать в апострофы, потому как слева указан алиас таблицы.

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

В файле /libraries/joomla/database/database.php описана базовая реализация данной функции, а фактически используется наследник этого класса, расположенный в /libraries/joomla/database/database/mysql.php.
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Спасибо! Фактически получил ответ не только на конкретный вопрос, но и подсказку где
искать ответы на бессчетное множество других и не только по БД. ;D
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин рейтинга чего угодно для Joomla 1.5

Автор Obmor

Ответов: 54
Просмотров: 31443
Последний ответ 18.12.2012, 15:01:55
от Raimonds
Функция watermark в стандартном com_media

Автор andron_2006_83

Ответов: 3
Просмотров: 5202
Последний ответ 19.10.2012, 18:11:28
от mobilepost
не работает index2.php

Автор Виталик

Ответов: 4
Просмотров: 2538
Последний ответ 03.06.2011, 13:40:10
от Diiimonn
как работает JSimpleXML() в joomla?

Автор tronovav

Ответов: 4
Просмотров: 3090
Последний ответ 05.05.2009, 19:30:03
от tronovav
Как работает стандарный SEF в joomla

Автор Prizrak

Ответов: 3
Просмотров: 1829
Последний ответ 23.04.2009, 16:46:20
от Prizrak