Архивы за месяц: декабря 2008

С Новым Годом!

Владимир | | Разное.

Праздник уже «на носу» и все, так или иначе, к нему готовятся. Естественно, блоггеры не остаются в стороне, и последние несколько дней в ридере постоянно появляются посты с поздравлениями, отчетами о проделанной работе и планами на следующий год.

Кстати, их довольно интересно читать 🙂 Сравниваешь со своими планами, заимствуешь идеи 🙂

Хотя действительно оригинальными идеями делиться никто не спешит 🙁 . Планы вроде «заработать миллион» и «увеличить посещаемость в 100 раз» несложно придумать и самому 😉 , а вот как их реализовать, да ещё и здоровье при этом не угробить – вопрос гораздо интереснее.

В общем, я решил, что никаких отчетов и планов я писать не буду. Не потому, что их у меня нет. Просто в отчетах я смысла не вижу, конечно, рекламодателям их показывать полезно, но большинство читателей они вряд ли заинтересуют. А о планах есть смысл писать только в одном случае – если хочется узнать чужое мнение.

К тому же есть у меня одно интересное наблюдение. Я ни разу не видел, чтобы на действительно популярных и качественных блогах публиковали планы. Например, на NETTUS нет постов о том, сколько они хотят получить трафика через год, зато у них практически каждый день появляются интересные статьи. TechCrunch тоже не пишет о том когда планируется взять рубеж 100 постов в день 🙂

Поэтому я просто пообещаю, что постараюсь писать только полезные статьи, а сколько их будет… поживем – увидим 😉

А всем читателям хочу пожелать просто хорошего настроения в новом году!
Говорят – это жизнь продлевает 🙂

С Новым Годом!

Как написать задачу для Phing

Владимир | | Phing, PHP, Web разработка.

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

В этой статье я покажу пример создания такой задачи.

Примечание. Я предполагаю, что вы хотя бы в общих чертах знакомы с Phing и знаете как его установить и написать простейший build файл. Если нет, советую сначала почитать эти статьи: Программирование на PHP. Избавляемся от рутинных операций с помощью Phing и Использование Phing для сборки web приложений.

Допустим, нам нужно изменять кодировку файлов. На PHP сделать это можно, например, с помощью функции mb_convert_encoding. В качестве параметров она принимает:
— исходный текст;
— нужную кодировку;
— исходную кодировку.
А после выполнения возвращает перекодированный текст.

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

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

С другой стороны, с помощью Phing мы можем запустить несколько операций нажатием одной кнопки. Почему бы не добавить сюда и перекодировку?

Итак, приступим.
Читать дальше

Сравнение PHP IDE

Владимир | | CSS, Eclipse, HTML, JavaScript, PHP, Web разработка.

Приветствую всех! Тема прошлого поста неожиданно получила развитие 🙂

В прошлый раз Oleg Lobach попросил сделать сравнительную таблицу PHP IDE, а Александр Макаров предложил сделать это совместными усилиями. И не просто предложил, а сделал большую часть работы 🙂

Сам бы я, наверное, браться за такую таблицу не стал, т.к., например, с NetBeans я не работал. Точнее я им раньше пользовался, но только для Java.

В результате совместных усилий получилась

acrobat-reader

Сравнительная таблица основных PHP IDE.

Есть и HTML версия.

В нее вошли:
Читать дальше

Новая среда разработки на PHP

Владимир | | Eclipse, PHP, Web разработка.

Совсем недавно я узнал, что разработчики Aptana Studio выпустили расширение для PHP разработчиков. По большому счету говорить о новой среде разработки не совсем корректно, т.к. и сама Aptana Studio и Aptana PHP Development Environment представляют собой плагины к Eclipse IDE.

Тем не менее, плагин плагину рознь 😉 . И по количеству функций Aptana PHP гораздо ближе к IDE чем к обычному плагину.

Установка и настройка.

Здесь вряд ли у вас возникнут проблемы. Самый простой способ – скачать Aptana Studio. Зайти в меню Help -> Software Updates -> Find and Install… После этого, отмечаете «Search for new features to install» и нажимаете Next.

Тут вы увидите список доступных расширений в котором первым идет Aptana: PHP Development Environment. Отмечаем его и жмем Finish.

Дальше процесс установки ничем не отличается от установки обычного плагина для Eclipse и описывать его я не вижу никакого смысла. Все ваши действия сведутся к подтверждению установки и нажатиям кнопки Next.

Переходим к возможностям.
Читать дальше

Новое расширение к FireFox для web разработчиков

Владимир | | JavaScript, Web разработка.

Буквально на днях появился очень полезный инструмент для JavaScript разработчиков под названием Fireunit.

Он представляет собой фреймворк для тестирования JavaScript кода и выполнен в виде плагина к браузеру FireFox. Написан он в виде надстройки над другим плагином — FireBug. И, как вы понимаете, работать без установленного FireBug не будет.

Кстати, авторы плагина: John Resig и Jan Odvarko.

Рассмотрим основные возможности Fireunit.

Интерфейс

Тут все просто. После установки плагина в окне Firebug появляется новая вкладка «Test» в которой выводятся результаты выполнения тестов.

Создание собственных тестов.

Каких-то специальных требований к оформлению тестов Fireunit не выдвигают. Насколько я понял, тестом считается вызов методов объекта fireunit (правда не всех).

Рассмотрим небольшой пример.
Читать дальше

Создание XML файлов из массивов на PHP

Владимир | | PHP, Web разработка.

Сегодня речь пойдет о работе с XML, а точнее об отправке данных PHP скриптов браузеру в формате XML.

Сразу скажу, что готовых решений в этой области существует масса. Но написание собственного скрипта занимает не больше времени, чем поиск и изучение чужого варианта. К тому же, добавить новые функции в свой скрипт значительно проще.

Постановка задачи

Есть PHP массив (может быть многомерным). Нужно получить xml строку с данными из этого массива.

Немного теории

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

Поэтому мы напишем собственный класс (Array2XML), который будет представлять собой оболочку для XMLWriter'а и решать одну узкую задачу – преобразовывать PHP массив в XML формат.
Читать дальше

Небольшой опрос: wiki или блог?

Владимир | | Разное.

Давно я хотел написать на эту тему, но все время откладывал. А на днях прочитал интересную заметку Эрика Венделина о том, как он использует wiki движок в качестве органайзера и вопрос сам собой всплыл на поверхность 🙂 . Кстати, его статья называется «Почему каждый программист должен использовать Tiddlywiki».

Одна из причин, по которой я начал вести этот блог в том, что я хотел сохранить информацию для себя (конечно, это не единственная причина 😉 ). И последнее время я часто замечаю, что сам все чаще пользуюсь собственными статьями. Особенно теми, которые были написаны довольно давно.

Т.е. сохранять информацию нужно и полезно 😉 , но возникает вопрос: «В каком формате это лучше сделать?».
Читать дальше

Операционная система на JavaScript

Владимир | | JavaScript, Web разработка.

На днях я наткнулся на одну очень интересную разработку на JavaScript. Представляет она собой пользовательский интерфейс, похожий на интерфейс операционных систем.

Конечно, о полноценной замене ОС речь не идет, но, тем не менее, некоторые возможности присутствуют.

Например, можно менять оформление рабочего стола (цвета фона, шрифтов, обои и т.п.).

Расскажу немного подробнее об основных возможностях.
Читать дальше

Социорега – скоростная регистрация в социальных закладках

Владимир | | SEO, Разное.

Сегодня я хочу немного отклониться от основной тематики блога и поговорить о том, как сделать его популярным. Конечно, рекомендаций на эту тему навалом. Но если у вас блог «для людей», то вам нужно сосредоточится на хорошем и уникальном контенте. Без него ничего не выйдет.

Правда есть один нюанс. Сразу после открытия блога посетители не повалят толпами, какие бы хорошие статьи вы не написали. Просто о них никто не будет знать, и поисковики не будут их индексировать. Т.е. вам нужны внешние ссылки и чем больше, тем лучше. Но ждать пока кто-то на вас сошлется можно очень долго 😉
Читать дальше

Оформление внешних ссылок

Владимир | | CSS, HTML, JavaScript, Web дизайн, Web разработка.

Сегодня речь пойдет о работе со ссылками на web странице, а если точнее – об их оформлении для просмотра и печати. У вас может возникнуть вполне закономерный вопрос: «О чем тут вообще речь? Ведь с помощью CSS можно оформить ссылки как угодно». В принципе, это действительно так, и большинство примеров в этой статье используют именно CSS, но если добавить немного JavaScript кода, то результат будет намного интереснее 😉

Начнем с постановки задачи.

Нам нужно:

1) Выделить (визуально) все внешние ссылки на странице (внутренние должны остаться без изменений).

2) Сделать так, чтобы они открывались в новом окне браузера (опять же, внутренние ссылки должны работать как обычно).

3) При печати после текста внешней ссылки должен выводиться ее адрес. Тут существует несколько решений, но об этом чуть позже.

Предполагается, что мы работаем с уже существующим сайтом, и править разметку страниц (искать внешние ссылки и изменять их атрибуты) никто не будет.

Первый этап. Изменяем оформление внешних ссылок.
Читать дальше