Свежая сравнительная табличка по PHP IDE
Обновил сравнительную табличку по PHP IDE:
- Добавлена WebIDE.
- Некоторые уточнения по NetBeans и Zend Studio.
Рассматриваем
Обновил сравнительную табличку по PHP IDE:
- Добавлена WebIDE.
- Некоторые уточнения по NetBeans и Zend Studio.
Рассматриваем
Обновление плагина autogrow для визуального редактора HTML CKEditor.
Плагин позволяет окну редактора автоматически подстраивать высоту под вводимый текст.
- Теперь меняет размер при удалении текста, вставке кода и картинок (с картинками пока сделано очень некрасиво и может не всегда срабатывать).
- В конфигурации можно задать максимальный и минимальный размер:
CKEDITOR.config.minHeight = 200;
CKEDITOR.config.maxHeight = 400;
По умолчанию размер не ограничивается.
- Корректно работает при уничтожении-создании экземпляра редактора с тем же именем.
Демо
Исходный код
В новой линейке WYSIWYG редактора FCKEditor, потерявшей букву «F» в названии из-за похожести на одно замечательное американское слово, отсутствуют многие возможности младшего брата. В том числе и плагин autogrow, позволяющий подстраивать высоту редактора под объём текста.
На днях этот плагин пришлось написать, так что делюсь со всеми, кому он может пригодиться.
Демо
Исходный код
Буду рад замечаниям и багрепортам.
Позволяет использовать шаблоны ещё одной альтернативы шаблонизатора Smarty — Dwoo в PHP-фреймворке Yii.
Пользуемся
Ну и чтобы не обижать вполне живого старичка Smarty, написал рендерер для Yii и под него.
Пользуемся
Инструкция:
- Качаем расширение для Yii.
- Распаковываем его в protected/extensions.
- Качаем Smarty.
- Все файлы из libs складываем в protected/vendors/Smarty.
- В секцию 'components' конфига добавляем:
'viewRenderer'=>array(
'class'=>'application.extensions.Smarty.CSmartyViewRenderer',
'fileExtension' => '.tpl',
//'pluginsDir' => 'application.smartyPlugins',
//'configDir' => 'application.smartyConfig',
),
Свойства текущего контроллера доступны как {this->pageTitle}.
Ещё одно расширение на ту же тему. Позволяет использовать шаблоны Quicky в Yii.
Пользуемся
В процессе разработки проекта на Drupal встала задача вывести все ноды, ссылающиеся на данную при помощи node reference. Нашёлся замечательный модуль Views Attach, позволяющий прицепить к определённому типу View и передать ему id текущей ноды параметром. Модуль подошёл идеально.
Не так давно понадобилось почти то же, но чуть сложнее: прицепить к определённому типу View, выводящий ноды заданного типа содержащие определённый термин таксономии. Пробежавшись по существующим модулям нужного не нашлось, но вспомнился Views Attach. А так как параметры View хорошо-бы было сделать полностью настраиваемыми — решил интегрировать данный модуль с Token, что сегодня и осуществил.
В итоге при помощи данного решения можно, например:
1. Отобразить при просмотре ноды 10 нод с сходными терминами таксономии.
2. Отобразить 10 нод заданного полем cck типа.
3. Отобразить отмеченные флагом ноды, ссылающиеся на данную.
4. …
Забрать патч можно в трэкере проекта.
Набор bat-файлов. Позволяет сохранять и восстанавливать конфигурацию сети Windows.
Особенно полезно использовать на ноутбуке, часто подключаемом к различным сетям. Также можно применить при полной переустановке системы.
save <название_конфигурации>
Для восстановления конфигурации:
restore <название_конфигурации>
Пользуемся
Проверено только на Windows XP.
На этот раз попробовал написать на английском. Вроде нормально вышло…
Рассказал про самые интересные штуки в современных PHP IDE и сравнил несколько наиболее популярных на текущий момент.
Опубликовался в Smashing Magazine.
Огромное спасибо Константину за графическое оформление статьи, Владимиру за табличку и саму идею сравнить, Антону за критику и правки, читателям RMCreative и Хабрапользователям за полезные замечания.
Читаем
Основой безопасности любого приложения является простое правило: «пришедшим от пользователя данным доверять нельзя». Для этой цели пишется довольно большое количество кода, хотя типичные задачи можно решить стандартными средствами PHP ничего не изобретая.
Например, таким образом можно проверить адрес e-mail при помощи filter_var:
if (filter_var($user_email, FILTER_VALIDATE_EMAIL)) {
// правильный
}
также можно убрать лишнее, например, из URL:
$sanitized_url = filter_var($url, FILTER_SANITIZE_URL);
Хотя filter_var() есть в стандартном PHP начиная с версии 5.2.0, документация на него, особенно русская, хромает.
Нормальная документация и примеры:
— Руководство w3schools.
— Input Validation: Using filter_var() Over Regular Expressions.
— Data Filtering Using PHP's Filter Functions