Теги форумов: BORS

Фильтр: CMF, фреймворк, PHP, программирование, авиабаза, документация, мозговой штурм
Теги : BORS, PHP, фреймворк, CMF, программирование, авиабаза, документация
 
Тема
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] , он лёгкий и быстрый. Пусть новичок эту документацию и заполняет. Ему будет шпаргалка, а тебе польза. Кстати, почему именно борс, а не РоР? Потому что тогда его не было? А если бы сейчас начинал, то РоРом…
памятка, что сделать...
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: code php <?php   class aviaport_image_gallery extends base_page_db {     function main_table_storage ( ) { return 'aviaport_image_gallery' ; }     function main_db_storage ( ) { return 'WWW' ; }     function storage_engine ( ) { return 'storage_db_mysql_smart' ; }     function class_type ( ) { return ec ( 'Фотоотчёт' ) ; }       function main_table_fields ( )     {         return array (             'id' ,             'title' ,             'description' ,             'author_name' ,             'create_time' ,             'modify_time' ,             'default_image_id' => 'default_image' ,    …
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
2008-02-08, KrMolot: 1) Удаляете печенье авиабазы 2) Заходите Авиационные новости к примеру 3) Щелкаете, скажем, на "ВВС России выбрали основной учебный вертолет" 4) Если сайт выдал печенье жмете назад и возвращаетесь на Авиационные новости 4) Нажимаете на ссылку "Зайти" 5) Вводите логин и пароль и нажимаете на кнопку "Зайти" Так вот, у меня не заходит и чтобы все же зайти приходится удалять печенье выданное при просмотре подобных ( ВВС России выбрали основной учебный вертолет. ) ссылок!
2
2008-01-22, Balancer:
0
2007-12-01, Balancer: base_null - не имеет никаких свойств кроме характеристик класса, фактически - абстрактный класс. base_empty - класс, объекты которого различаются идентификаторами. base_object - основной объект системы. Нечто, имеющее самостоятельную информационную ценность. Обладает базисом параметров, типа времени создания и последней модификации, названия и т.п. base_page - страница сайта. Объект, представляемый содержимым и шаблоном HTML-вывода. base_rss - аналогично, но генерирует XML категорий RSS или ATOM. base_list - базовый класс списков. base_object_db - класс, данные объектов которого хранятся в БД и автоматически извлекаются через ORM в момент создания экземпляра класса. base_page_db - аналогично, страница, данные которой хранятся в БД. base_page_hts - страница, данные которой хранятся в БД в старом HTS-формате base_list_db - список, элементы которого хранятся в БД. ... //TODO: добавить пересечения и деревья; добавить классы, требующие выправления иерархии
0
2007-09-18, Balancer: Решил, вот, начать публикацию примеров работы с нашим фреймворком. Итак, сегодня были добавлены RSS-потоки в темах, позволяющие отслеживать ответы. Собственно, код RSS-модуля с комментариями по ходу. code php <?php class_include ( 'forum_topic' ) ;   class forum_topic_rss extends forum_topic {     function render_engine ( ) { return 'render_self' ; }       function url ( ) { return $this -> rss_url ( ) ; }       function render ( )     {         include ( "3part/feedcreator.class.ph p" ) ;           $rss = &new UniversalFeedCreator ( ) ;         $rss -> encoding = 'utf-8' ;         $rss -> title = $this -> title ( ) ;         $rss -> description = ec ( "Ответы в топик " ) . $this -> title ( ) ;…
8
2007-09-03, Fakir: Не нравится: 1) Отсутствие резалки топиков; 2) Отсутствие лички; 3) всё же размещение аватаров и прочего юзер-инфо в правом верхнем углу, ИМХО, не гут - слева в колонке, как раньше, удобнее: а то сейчас с этими юзерскими крыжами иногда криво форматируется…
0
2007-07-02, Balancer: Закончил сегодня для CMF Bors© генератор форм. Довольно органично вписался в объектную модель. Предварительного описания форма не требует. Значения по умолчанию берутся из указанного в шаблоне форму класса (если для редактирования имеющегося объекта, то указывается и ID). После отсылки происходит автоматическое (при отсутствии отдельного обработчика) обновление полей существующего объекта или создание нового. Также немного автоматизирована загрузка файлов (но тут ещё нужно немного поработать). При сохранении пока отсутствует проверка валидности вводимых данных (с сохранением введённого), будет сделана немного позже. Практические примеры работы с генератором тоже выложу немного позже. ... Да, начиная с этой заметки буду понемногу освещать изменения в CMF и описывать работу механизмов
0
2007-05-29, Balancer: Сделать: Стиль тэга term Репутацию и штрафы под аватаром Корневую страницу форумов Корректный учёт редиректов форумов "Форумы" - внешние ссылки. Категории (== сайты)
8
2007-02-21, Murkt: … Как же я тебе в Москве найду? … Хз. В принципе, можно мой доработать. … А что такое Coppermine? Поискать надо, может и есть. А можно, опять же, своё написать, потому что это можно делать быстро Вообще, структура Джанговского проекта предпологает…
2
2007-01-18, робин 44: Спасибо! набил withowtleft в отображениях и всё прошло
Смотри также

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru