Спрашивают Tom относительно разбиения на страницы и очень, очень полезные аналитические функции.
Это - выборка от той страницы:
select * from (
select /*+ first_rows(25) */
object_id,object_name,
row_number() over
(order by object_id) rn
from all_objects)
where rn between :n and :m
order by rn;
Плохо? Нет. __ autoload ()
- одно из моих любимых дополнений к PHP 5. Оно снимает ответственность (и раздражение), связанное с необходимостью вручную включать / требовать файлы классов, необходимые для вашего приложения. При этом вы как разработчик должны убедиться, что загружены только «соответствующие классы». Это легко сделать с помощью структурированной схемы именования и структуры каталогов. В Интернете есть множество примеров того, как правильно использовать __autoload (), выполнить поиск в Google, и вы найдете много информации.
Единственная опасность для __autoload () - это определение плохой функции автозагрузки. Как правило, все, что вы получите с точки зрения производительности, - это несколько поисков диска, поскольку PHP ищет правильные файлы, содержащие ваши классы. Положительным моментом является избавление от всех этих надоедливых вызовов include ()
.
Если вас беспокоит производительность на этом уровне, то вы уже должны использовать кэш опкодов, такой как APC.
Теперь я хочу знать, является ли плохой практикой использование только __autoload для загрузки соответствующих классов на динамический сайт?
Вовсе нет. Вы можете положиться на автозагрузку, все, что вам нужно сделать, это разработать хорошее соглашение об именах и реализовать эффективный автозагрузчик.
Есть одна важная проблема, которую следует рассмотреть. Автозагрузка и Zend Guard плохо работают вместе, потому что Zend Guard имеет тенденцию переименовывать вещи, а это будет означать, что соглашение об именах, которое вы решили использовать, скорее всего, будет другим. Если вы будете использовать Zend Guard (или любой другой обфускатор, если на то пошло), вам, скорее всего, придется вручную включать все файлы.
Вот цитата из руководства пользователя Zend Guard:
Классы автозагрузки будут не работает, так как имя файла на диске не будет сопоставить имя скрытого класса.
Автозагрузка - хороший способ загрузить только те классы, которые необходимы.
В PHP 5> = 5.1 .2,