«pathinfo() возвращает ассоциативный массив, который содержит информацию о пути path. Возвращаемый массив состоит из следующих элементов: dirname, basename и extension.
Вы можете указать, какие элементы будут возвращены при помощи необязательного параметра options. Он состоит из PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION и PATHINFO_FILENAME (появилась в PHP 5.2.0). По умолчанию возвращаются все элементы.»
Дело не в «открыл для себя наследование». Я заметил, что есть люди, которые всё ещё не используют преимущества ООП или просто отказываются это делать их не видя в этом смысла. Статья описывает простой пример, без очень универсальных и навороченных методов именно для моделей таблицы базы данных.
Допустим проект, где есть «Новости», «Статьи», «Товары», «Фирмы», «Города», «Статичные страницы», не считается большим, но данный подход позволил мне сэкономить прилично времени. Если брать разработку крупной CMS, то я пока не вижу причин, почему расширение не подойдёт для неё.
Ещё плюс данного подхода — не будут плодиться методы с одинаковым функционалом но с разными названиями. Например:
getNewsById(), deleteArticleById, addFirm(), updateCityById()
А ещё после долгих мучений с мануалом и различными статьями, лезешь в исходники зенда и через пару минут понимаешь, что что-то не доделано или чего-то не хватает :( Всё-таки приятнее как у Вас — найти то, что искал, но не ожидал, что оно там есть :)
Именно так. Метод является проксирующим. Но метод элемента не принимает имя файла в параметре, к которому будет применён метод receive() адаптера, а берёт его getter'ом.
«pathinfo() возвращает ассоциативный массив, который содержит информацию о пути path. Возвращаемый массив состоит из следующих элементов: dirname, basename и extension.
Вы можете указать, какие элементы будут возвращены при помощи необязательного параметра options. Он состоит из PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION и PATHINFO_FILENAME (появилась в PHP 5.2.0). По умолчанию возвращаются все элементы.»
На всякий случай, если у кого < 5.2.0
int main() { int i, n = 20; for (i = 0; i < n; i--) { printf(«Ж»); } }
Почти тоже звёздочка :)
Ещё плюс данного подхода — не будут плодиться методы с одинаковым функционалом но с разными названиями. Например:
getNewsById(), deleteArticleById, addFirm(), updateCityById()
Всё очень просто. Я сделал именно так, как это предложено сделать в оффициальном мануале.
$values = $form->getValues();
if ($form->isValid($form->getPost())) {
if (!$form->foo->receive()) {
print «Upload error»;
}
}