Тема |
---|
Было: «Давно что-то не писал ничего по теме :)»
39
2016-03-29, Balancer: То, что в PHP7 зарезервировали Null, не позволяя использовать в именах классов — ещё пережить можно. Но вот за намерения зарезервировать в будущем Object — надо руки отрывать. Это, по-моему, самый сильный удар по моей обратной совместимости за всю историю…
|
2
2014-04-06, Balancer: Разработчики Smarty при исправлении бага #177 в 3.1.17 сделали огромную опу — они имя файла в {block} пропустили через real_path. Я несколько часов угрохал, пока понял, почему у меня часть шаблонов, отдаваемых через кастомные ресурсы стала выбрасывать…
|
5
2012-09-23, Balancer: А неплохой web-сервер для разработки засунули в PHP 5.4. Сейчас прогнал ab, 500 запросов в 20 потоков на Q6600, вышло 611 запросов (phpinfo) в секунду для встроенного сервера при медианном времени отдачи 32мс, а lighttpd+fastcgi на этой же машине — 1521…
|
2
2011-09-22, Balancer: PHP-шаблоны тел страниц для классов-наследников bors_page можно теперь никак не указывать отдельно. При наличии рядом с файлом класса файла с расширением .tpl.php считается, что шаблонизатор тела страницы — bors_templates_php .
|
9
2010-06-24, Balancer: Забавно. Прошло 4,5 года, фреймворк давно стал гибкий, красивый и используется в массе проектов. Но работаю над ним по-прежнему в одиночку
|
1
2010-05-02, Balancer: Активировал (пока почти бесполезный) плагин PHPDoc'а на Trac'е.
|
0
2010-01-23, Balancer: Довольно давно слепил несложный генератор SQL-запроса для создания страниц, выдающий по простому шаблону класса соответствующий код таблицы. Чуть позже добавил и генератор простого класса по нему же. Сегодня капитально расширил функционал генератора. Кроме SQL и основного класса теперь генерируется весь базовый функционал админки. Страница со списком объектов, редактирование и создание объектов... Пока ещё достаточно сыро и неконфигурабельно, но уже сильно уменьшает объём рутины. Вид шаблона примерно такой: code text class: aviaport_directory_edition title: Авиационное издание titles: Авиационные издания admin_class: aviaport_admin_directory_edition directory_editions: int id++! int edition_type_id! // Тип издание - выбор из перечня: Журнал, Газета, Бюллетень string title // Название издания text description // Аннотация: …
|
0
2010-01-19, Balancer: Немного доработал PHP Framework BORS© Подключил блог из этого форума.
|
1
2009-11-26, Balancer: Коротко описана структура каталогов: Структура каталогов фреймворка
|
0
2009-11-23, Balancer: Наконец, взялся за давноооо назревший рефакторинг рендерера (как же это по-русски-то сказать?). Напомню, как выглядит этот механизм сейчас. Каждый объект может иметь класс, занимающийся отображением этого объекта пользователю. Класс-рендер. При выводе объекта дёргается его метод render() , который и возвращает контент. Бинарное содержимое картинки, XML RSS-фида или HTML страницы. Страницы состоят из двух компонентов: Глобальный шаблон (шапка+подвал+etc - общее оформление) Локальный шаблон (собственно, тело страницы) Всё бы хорошо, но реально рефакторинг проводился достаточно поздно, когда объекты уже рендерили сами себя, так что сейчас присутствует такая логика: если у объекта есть рендер, то вызывается он. Нет - вызывается стандартный, hardcoded-рендер старого типа (на Smarty, интегрированном в систему). Плюс несколько раз менялась терминология методов, занимающихся подготовкой данных для насыщения шаблонов. Из-за обратной совместимости эти имена поддерживаются во всех вариантах (например,…
|
0
2009-07-09, Balancer: Возможны ситуации, когда нужно обращаться к БД с одним именем на разных серверах. В этом случае допустима запись при конфигурировании доступа вида: code php mysql_access ( 'ALIAS-DB-NAME => REAL_DB_NAME' , 'login' , 'pssword' , 'remote-server' ) ; mysql_access ( 'REAL_DB_NAME' , 'login' , 'pssword' ) ; В этом случае объекты БД будут привязываться к именам: code php $dbh = new driver_mysql ( 'REAL_DB_NAME' ) ; // Работа с локальным mysql-сервером $dbh = new driver_mysql ( 'ALIAS-DB-NAME' ) ; // Работа с удалённым mysql-сервером с БД REAL_DB_NAME Соответственно, в конфигах ORM-объектов можно прописывать алиасы. В записи 'ALIAS => NAME' допустимо любое количество пробелов или их отсутствие.
|
0
2009-07-09, Balancer: Идея реализации унифицированного механизма циклической обработки (чистка кешей, логов доступа, таймерные задачи), затрагивающих весь хостинг вместе с разнородными проектами разной степени взаимной реюзабельности признана избыточно сложной и ненужной. Порождается масса проблем и подводных камней, связанных с ограничением взаимного доступа и конфигурированием объектов. Теперь строго и однозначно - все механизмы обработки работают с раздельными конфигурациями отдельно. Уточнение на счёт базовых констант: базовые каталоги системы: BORS_CORE - как и всегда, путь к ядру системы BORS_3D_PARTY - путь к расширениям третьих сторон Каталоги конкретного хостинга/сервера: BORS_HOST - индивидуальные настройки хостинга/сервера, не требующие синхронизации, например, между тестовым и рабочим сервером. Это могут быть настройки путей ФС, доступа к БД и т.п. Все привязки к хостингу. BORS_LOCAL - настройки проекта, общие для всех сайтов, например, синхронизируемые между тестовым и рабочим серверами. Общие классы, их конфигурация…
|
(немного о фреймворке, для Морского каталога, на примере разьяснения одному знакомому)
7
2009-06-22, HolyBoy: … Созреешь. Возьми dokuwiki [DokuWiki] , он лёгкий и быстрый. Пусть новичок эту документацию и заполняет. Ему будет шпаргалка, а тебе польза. Кстати, почему именно борс, а не РоР? Потому что тогда его не было? А если бы сейчас начинал, то РоРом…
|
0
2009-04-25, Balancer: Хороший пример использования CSS-свойства text-shadow: CSS Text-Shadow in Safari, Opera, Firefox and other Web Browsers The CSS 2 property text-shadow is supported in Safari since version 3 (also available for Windows), Opera since 9.5, Firefox since 3.1, Google Chrome since version 2, Konqueror and iCab. In fact, text-shadow is supported by all browsers that are based on WebKit, the rendering engine behind Safari and Chrome. Internet Explorer 8 does not support such text shadows (except for some DirectX image transform filters). // maettig.com Немного о генерации теней через картинки (GIF и PNG с альфа-каналом) CSS Drop Shadows Much used, oft maligned but always popular, drop shadows are a staple of graphic design. Although easy to accomplish with image-editing software, they’re not of much use in the fast-changing world of web design … until now. // www.alistapart.com
|
памятка, что сделать...
2
2009-04-25, Balancer: Удалённое хранилище картинок Нужно подыскать максимально надёжное и легко доступное внешнее хранилище с возможностью аплоада без регистрации. Лучше, если со стандартизированным API. Претенденты: http://imageshack.us/ http://ipicture.ru/…
|
как быть?
0
2009-03-31, Balancer: Исторически сложилось, что фреймворк BORS© работает не просто на системах с разными кодировками (utf-8, windows-1251, koi8-r), но нередко в смешанных условиях (БД отдаёт данные в utf-8, клиент должен получить в windows-1251, файлы лежат в koi8-r, клиент получает в utf-8, контент сайта отдаётся в koi8-r, но RSS отдаюься в utf-8 и т.п. сочетания). До какого-то момента всё было прекрасно: 1. Все тексты в PHP-коде лежат в utf-8, но при загрузке система переводит их во внутреннюю кодировку системы. Например: class ... function title() { return ec("Тест"); } где ec() - функция, осуществляющая перекодировку utf8->internal_charset 2. Все операции над текстом (upper/lower/substr/etc) осуществляются во внутренней кодировке сервера. 3. При выводе происходит преобразование internal_charset -> output_charset. 4. При загрузке данных из пользовательских файлов происходит перекодировка files_charset -> internal_charset 5. При загрузке данных из БД происходит перекодировка db_charset->internal_charset. 6.…
|
0
2009-03-06, Balancer: Подключил расстановку мягких (скрытых) русских переносов с Расстановка мягких переносов Сам пакет лежит в BORS_3RD_PARTY/phphypher. bors-функция - в inc/strings.php Использование в BORS: code php <?php require_once ( 'inc/strings.php' ) ; $result = bors_hyphen ( $text ) ; Особенности: 1. Пакет работает только с cp1251. Поэтому перед вызовом осуществляется преобразование из UTF-8 в эту кодировку. Возможна потеря юникодных символов. 2. Сейчас обрабатывается только русский текст, но в будущем не исключён переход на английский. Поэтому не стоит сразу прогонять через расстановщик готовый HTML-код.
|
документация
5
2008-11-20, Balancer: Небольшое дополнение. Генерируемый последним примером запрос будет один: code mysql SELECT `id` , username AS `title` , `group _ id` , title AS `user _ title` , `use _ avatar` , `avatar _ width` , `avatar _ height` , `num _ posts` , `signature` ,…
|
1
2008-05-08, Анатолий: Завел сегодня новый топик /временный/на форуме Морской с открыткой Поздравление с днем Победы . Все было видно а через полчаса топик исчез... В чем причина ?
|
0
2008-04-22, Balancer: js.php code php <?php class base_js extends base_page_db { function can_be_empty ( ) { return true ; } function preShowProcess ( ) { include_once ( "inc/js.php" ) ; header ( "Content-type" , "text/javascript" ) ; return str2js ( $this -> cacheable_body ( ) ) ; } } personal.php code php <?php class forum_js_personal extends base_js { private $owner ; function __construct ( $id ) { parent :: __construct ( $id ) ; $this -> owner = class_load ( 'forum_user' , $this -> id ( ) ) ; } function cache_static ( ) { return 7 * 86400 ; }…
|
0
2007-07-02, Balancer: Закончил сегодня для CMF Bors© генератор форм. Довольно органично вписался в объектную модель. Предварительного описания форма не требует. Значения по умолчанию берутся из указанного в шаблоне форму класса (если для редактирования имеющегося объекта, то указывается и ID). После отсылки происходит автоматическое (при отсутствии отдельного обработчика) обновление полей существующего объекта или создание нового. Также немного автоматизирована загрузка файлов (но тут ещё нужно немного поработать). При сохранении пока отсутствует проверка валидности вводимых данных (с сохранением введённого), будет сделана немного позже. Практические примеры работы с генератором тоже выложу немного позже. ... Да, начиная с этой заметки буду понемногу освещать изменения в CMF и описывать работу механизмов
|
124
2006-01-02, kiev1org: … друпал-ру к сожалению испортился совсем - заходите сюда Киевский Drupal и сюда drupal.htdogs.ru | Учимся и учим работе с Drupal
|
11
2005-09-06, avmich: Вижу. Не туда, куда надо бы... Если мне надо собрать результат - т.е. результирующий HTML и картинки - и куда-то его положить, то картинки придётся выгрызать отдельными усилиями. Мда...
|
9
2004-12-12, Balancer: Хм. Это с сервером, по идее, никак не связано. Только с браузером. Если страница уже загружена, то все данные для сохранения итак уже есть. Вообще, кстати, для каталогизации таких ресурсов рекомендую Scrapbook ("Web-альбом") - расширение для Firefox.…
|
2
2004-06-09, Balancer: Текст code php <? // Smilies processing // Global vars: // $GLOBALS['cms_smilies_dir'] - full path to smilies dir // $GLOBALS['cms_smilies_url'] - full or relative url of smilies dir …
|