Несмотря на свою легкость и универсальность, php является очень функциональным языком. Он не такой гибкий, как C конечно, но и у него есть свои хитрости. Я еще не матерый профессионал в области программирования на php, но уже успел нахвататься несколько php трюков и хитростей при работе на php.
В этом посте я составил небольшую подборку, которая будет полезна как новичкам, так и некоторым профессионалам.
Меняем массив через foreach.
Почти в любом php-скрипте используются массивы, а следовательно, и циклы. Самым популярным является цикл foreach. При обработке массивов этим циклом, очень часто приходится их изменять, но как, вы уже успели заметить, если сделать так:
foreach ($categories as $cat) {
$cat['name'] = 'some cat';
}
То ни один элемент массива $categories не пострадает
Другими словами, поле name у каждого элемента останется прежним, а не изменится на “some cat”.
Читать далее »
Сен 23, 2008 | Автор :
Novice | 17 Комментариев
Сегодня я хотел бы затронуть тему аутентификации и авторизации. Только не подумайте, что у этих двух слов одно и то же значение. Простыми словами, аутентификация – это когда кто-то проверяет тебя на наличие права доступа, а авторизация – это когда ты даешь себя на проверку права доступа (предоставление определенных прав определенному лицу).
Basic-аутентификация с помощью Apache
Почему Basic? Потому что бывает еще не только basic, но и digest и другие виды. Но мы их здесь касаться не будем, а коснемся наиболее простого вида аутентификации, который можно реализовать средствами сервера Apache.
Читать далее »
Сен 05, 2008 | Автор :
Novice | 6 Комментариев
Многие уже слышали про эту новинку от google, как и я, но конкретной информации на русском я нашел очень мало. Поэтому и решил заполнить этот пробел, написав полное описание этой технологии.
Итак, Google Ajax API предоставляет пользователям интерфейс для доступа к google`овским сервисам через javascript. Отличительной особенностью такого подхода является то, что для работы со всеми этими удобствами нет необходимости писать обработчики на php и других серверных языках (скрипты которых обрабатываются на стороне сервера). Все что нужно – это просто использовать нужные методы уже готовых javascript-классов.
Все сервисы гугла сосредоточены в нескольких модулях (модуль поиска, модуль карт и т.л.). Кроме этого, компания google учла широкое распространение таких js-фрейморков как jquery, dojo, prototype, mootools и т.д., и добавила возможность их использования как отдельных модулей.
Читать далее »
Сен 04, 2008 | Автор :
Novice | 4 Комментариев
Сегодня будем рассматривать такую задачку как генерация облака тегов. Мы все конечно ни раз встречали это облако на других сайтах и блогах, но не все задумывались над реализацией этого облака на php. Общие моменты ясны из определения с wiki:
“визуальное представление списка ярлыков (или категорий). Частота упоминаний, поисков, ссылок в интернете с определенного сайта неких слов, терминов, имен, отображается на специальной странице в виде изображения этих слов в формате гиперссылок. Размер изображения тем больше, чем выше релевантность данного слова (термина, имени).”
Релевантность в нашем случае определяется количеством вхождений одного тега в их общую массу.
Читать далее »
Сен 01, 2008 | Автор :
Novice | 22 Комментариев
Все кто когда-то писал различного рода CMS от полноценных до простых скриптов галерей, сталкивались с проблемой создания уменьшенных копий изображений или thumbnail`ов на php (в народе известны как “превьюшки”).
Картинки на входе (которые надо уменьшить) могут быть с различными соотношениями между длинной и шириной, а на клиентской стороне скрипта (то, что видит посетитель сайта), задаются фиксированные размеры области вывода. Наша задача заключается в том, чтобы создать из первого – второе с помощью php.
Тут следует упомянуть еще один момент, который будет непосредственно рассмотрен в этот статье. На самом деле способов создания thumbnail`ов на php существует два (еще подскажете еще один, буду признателен):
- Изменение масштаба изображения (сжатие размеров).
- Выделение области, которая будет выводиться.
С первым все понятно, так как это самый популярный прием. Второй же случай встречается реже и не является автоматическим (нужно чтобы человек выделил область, из которой будет делаться превьюшка).
Читать далее »
Авг 28, 2008 | Автор :
Novice | 15 Комментариев
 |
Недавно я узнал о новой библиотеке для работы с базой данных. Имя этой библиотеке – SQLite. Зачем ее рассматривать, у нас же есть MySQL? Дело в том, что принцип работы у этой библиотеки несколько иной, в отличие от MySQL и PostgreSQL (если кто слышал).
|
Про MySQL, например, не совсем корректно было бы говорить, что это библиотека. На самом деле это скорее СУБД. А SQLite наоборот трудно назвать СУБД, но легко – библиотекой. В чем же дело?
SQLite не требует наличия серверной программы для работы. Для ее работы нужен просто модуль PHP. Т.е. если на хостинге нет поддержки MySQL, можно вполне обойтись и SQLite (если конечно есть модуль SQLite). Все базы данных хранятся в файлах Вашего сайта. А это значит, что перенести сайт с одного хостинга на другой – значит просто скопировать все файлы сайта вместе с файлами базы данных и все!
В имени этой библиотеки (будем ее так называть) не зря есть слово Lite. SQLite – это облегченный язык запросов к базе данных SQL. В нем есть только самое основное, что может потребоваться для хранения и извлечения информации. И, думаю, для веб-проектов он вполне подойдет.
Читать далее »
Авг 25, 2008 | Автор :
Novice | 23 Комментариев
Каждый, кто пишет посты в wordpress, наверняка ни раз видел на странице редактирования или добавления нового поста панель, которая называется “Дополнительные поля”.
В первую очередь они предназначены для заполнения meta-полей вроде Title, Keywords или Description. Но на самом деле, область их применения можно значительно расширить.
Например, у нас на блоге каждый пост начинается с небольшой картинки, которая дает понять, о чем будет идти речь в посте. Чтобы вставить эту картинку в пост, нам нужно каждый раз добавлять в начало статьи небольшую таблицу, в одной ячейке которой будет картинка, а в другой – небольшой кусок текста.
Используя дополнительные поля для постов, и немного изменив нашу wordpress тему, мы можем заменить этот механизм на более удобный. Вместо таблицы мы будем просто указывать имя файла картинки в дополнительном поле.
Итак, приступаем. Начнем с выбора имени дополнительного поля, которое будет содержать имя картинки. Пусть оно будет называться image, а все картинки будут храниться в папке images, в корневой директории вашего сайта.
Читать далее »
Авг 22, 2008 | Автор :
Novice | 13 Комментариев