Методы должны всегда быть полным, компилируемым кодом; макросы могут быть фрагментами кода. Таким образом можно определить foreach макрос:
#define foreach(list, index) for(index = 0; index < list.size(); index++)
И использование это как таким образом:
foreach(cookies, i)
printf("Cookie: %s", cookies[i]);
Начиная с C++ 11, это заменяется основанный на диапазоне для цикла .
Я был основным разработчиком Zend_Db
, вплоть до Zend Framework 1.0.
В показанном вами примере значения интерполируются в запрос с соответствующими кавычками и экранирование применено. Вам не нужно больше ничего делать.
Внутри он использует функцию цитирования, встроенную в расширение PHP для Zend_Db_Adapter
, который вы используете. Например, PDO :: quote ()
.