Категории: Web разработка

Разработка с CodeIgniter: включаем автодополнение кода в Eclipse

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

Автодополнение кода, наверно, один из лучших способов защиты от механических ошибок. Если вы привыкли его использовать, то можете определить, что допустили ошибку ещё до того как увидите её. Отсутствие окошка с вариантами автодополнения – первый признак опечатки.

Eclipse, как и большинство других IDE, поддерживает эту функцию. Но автодополнение работает только для тех объектов, которые Eclipse может найти. И очень удобно, когда к таким объектам относятся не только стандартные функции PHP, но и все библиотеки и фреймворки, которые вы используете.

В этой статье я расскажу о нескольких способах подключения автодополнения кода для сторонних библиотек. В качестве примера рассмотрим фреймворк CodeIgniter.

Прежде всего, рассмотрим самый простой вариант.
Читать дальше

Как написать задачу для 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 формат.
Читать дальше

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

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

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

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

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

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

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

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

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

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

Нам нужно:

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

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

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

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

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

Создаем плагин для jQuery

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

Этот пост – вольный перевод очень полезной статьи Jeffrey Way Learn How to Create a jQuery Plugin.

Самое главное, приведенный здесь пример, можно использовать как шаблон для собственных плагинов. Кстати, вместе с оригинальным вариантом идет скринкаст. В общем, надеюсь, вам будет интересно 🙂

Вы можете скачать исходники этого примера или посмотреть демонстрацию.

У вас может возникнуть мысль: «Что за суета вокруг jQuery? Нужно загрузить кучу плагинов чтобы эта библиотека на что-нибудь годилась». Первое, это не так. Второе, jQuery специально разрабатывалась для широкого применения. Сохраняя ядро библиотеки маленьким – 16кБ (прим. – речь идет о сжатом варианте) – пользователи могут добавить дополнительные плагины по собственному усмотрению. Сегодня, я покажу вам, как создать собственный плагин под названием «Center» с нуля. Приступим!

Наша задача

Мы хотим написать плагин, который будет динамически изменять стили указанного элемента страницы так чтобы отцентрировать его по горизонтали и вертикали, даже при изменении размера окна браузера.
Читать дальше

Переключение чекбоксов с помощью jQuery

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

На днях мне нужно было написать небольшую JavaScript функцию (на jQuery), которая переключала бы группу чекбоксов. Т.е. все отмеченные чекбоксы должны были стать неотмеченными и наоборот.

Кстати, это довольно широкораспространенная задача.

Количество чекбоксов изменялось динамически и некоторые из них могли быть не активными (их трогать нельзя).

Вобщем, уложился я в шесть строк (включая объявление функции).
Читать дальше