Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Liberty Framework (Свой) (https://forum.antichat.xyz/showthread.php?t=109183)

Krost 04.03.2009 15:27

Liberty Framework (Свой)
 
Месяца два назад написал свой фв и выложил в сеть, ожидаемого интереса я не получил. Порекомендовали написать здесь.
В общем вот:
Цитата:

Он написан на PHP, рассчитан на использование под 4, 5 PHP.
Это каркас для создания сайтов-визиток, или крупных проектов вроде социальных сетей.
При создании этого фреймворка был сделан упор на простоту работы с ним, но так, чтобы это не ограничивало его возможностей. Поэтому он подойдёт и новичку, и профессиональному разработчику.
Все компоненты фв выделены как «драйвера». Они полностью заменяемы / изменяемы / отключаемы. Например, при создании сайта-визитки вам не потребуется использование БД, так зачем устанавливать «крупную» цмс, которая будет только нагружать этой возможностью сервер?
В Liberty FW вам достаточно «отключить» этот драйвер и система не будет лишний раз подключать не нужные скрипты и создавать бесполезных соединений с БД. Тем самым фв становится универсальным – вы сами определяете, какие компоненты использовать, а какие нет.
Вы можете подключить свой собственный шаблонизатор, не прикладывая на то особых усилий, и вы будете работать со знакомым вам объектом / функциями.
Вы так же можете использовать различные драйвера для модулей, что позволит использовать модули от других систем управления контентом.
Фреймворк поддерживает «мультисайтовость». На данный момент эта возможность «интегрирована», так как подключает конфиг нужного сайта, планируется создание драйвера.

На текущий момент к нему прилагаются драйвера:

1. Драйвер кеша - поддерживает memcached (на данный момент только один сервер, в будущем планируется поддержка кластеров), в случае отсутствия используется свой драйвер.
2. Драйвер БД – поддерживает одновременную работу с несколькими (разными) серверами, что позволит вам распределить нагрузку. На текущий момент поддерживается только MySQL.
3. Драйвер языковых пакетов – довольно простой драйвер, использует в качестве пакета файл, содержащий сериализованный массив.
4. Драйвер библиотек – подключает файлы (в случае присутствия 3х строгового заголовка – создаёт нужный объект) из определённой директории. Что позволяет не «заморачиваться» с подключением своих библиотек.
5. Драйвер отправки почты – использует почтовые шаблоны, поддерживает SMTP.
6. Драйвер модулей – подключает модули фреймворка. Так же есть подключение «простых» модулей (тут как в случае с библиотеками, файл достаточно поместить в папку модулей и он будет доступен)
7. Драйвер сессий – сессии с использованием системы кэширования. При необходимости в его базовые функции дописываются требуемые запросы к БД / функции.
8. Поддержка шаблонов – простой драйвер, в качестве шаблонов подключает (include) .tpl файлы с php инструкциями.

Планируется:
1. Хуки.
2. Расширение драйверов.
3. Драйвер «интеграции», который позволит использовать фв совместно с форумом, в качестве основной системы управления.
4. Система управления контентом (CMS), с удобной админкой.
5. Создание готовых сборок для различных нужд.

Необходимо:
1. Ознакомление.
2. Поиск багов и узких / неудобных мест.
3. Написание документации (сам возьмусь, но для неё нужны вопросы, которых к сожалению я не получил).

Этот фреймворк предоставляет вам полную свободу действий и выбора, поэтому я и назвал его «свободный» :)
В правилах про линки ничего не нашёл, поэтому - http://liberty-fw.ru , пришлось закрыть от ботов, регившихся на форуме :))
логин - root
пароль - toor

Жду каментаф :D

-Hormold- 04.03.2009 15:35

Если сайт дырявый, про fw не говорю уже...
Warning: Illegal offset type in isset or empty in /home/www/z89553/htdocs/liberty-fw/includes/drivers/modules/liberty.php on line 85

Krost 04.03.2009 15:43

поподробнее, не получилось отловить ...

d_x 04.03.2009 15:46

Цитата:

Warning: setcookie() expects parameter 2 to be string, array given in /home/www/z89553/htdocs/liberty-fw/includes/core/functions.php on line 455
Посмотрел, ничего такого особенного не увидел. Класс работы с mysql, как я понял, не предусматривает мультитабличных запросов.

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

PHP код:

        if (!is_file($cache_file))
        {
          
fwrite(fopen($cache_file"w"), $this->lfcore->get_include_content($this->files[$handle]));
        } 

Немного жестковато для серьезного фреймворка)
Файл даже не закрывается? А как же проверка ошибок? И вместо !is_file наверное надо !file_exists..

Krost 04.03.2009 15:47

затупил.. нашёл ^^

AkyHa_MaTaTa 04.03.2009 15:52

Цитата:

Сообщение от d_x
есть множество готовых проверенных решений)

хорошо документированых,ну или просто документированых и с примерами реализаций.

Krost 04.03.2009 15:56

Цитата:

Думаю, что вряд ли кто будет использовать это для построения сайтов, есть множество готовых проверенных решений)
Цитата:

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

Krost 04.03.2009 16:04

Цитата:

Немного жестковато для серьезного фреймворка)
Файл даже не закрывается? А как же проверка ошибок? И вместо !is_file наверное надо !file_exists..
Зачем? Ссылка на него уже "умерла", а is_file проверяет файл ли это. file_exists вернёт true и для директории. is_writable добавить конечно стоит :)

AkyHa_MaTaTa 04.03.2009 16:06

если уж говорить про php5 то наверно надо использовать те приемушества которые она дает в ООП относительно 4 ветки, где элементарный try && catch ?

Krost 04.03.2009 16:13

Цитата:

если уж говорить про php5 то наверно надо использовать те приемушества которы она дает в ООП относительно 4 ветки, где элементарный try && catch ?
Нету :)
Если уж серьёзно, то стоит(а стоит ли?) сделать несколько версий "ядер", и для разных веток подключать нужные.


Время: 18:22