За последние 24 часа нас посетили 22382 программиста и 1149 роботов. Сейчас ищут 646 программистов ...

Потральная система в одном файле.

Тема в разделе "Решения, алгоритмы", создана пользователем mpak, 19 сен 2010.

Статус темы:
Закрыта.
  1. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    В целях удобства установки портальной системы, ее тестирования и разработки создана версия портальной системы Жираф собранная в один файл. Плюсом такого подходя является удобство работы. В данной версии системы снизилась вероятность испортить любой из многочисленных файлов системы а также исчезла необходимость в настройке прав доступа к файлам. Упростилась установка на хостинг. Большая часть всех возможностей доступна в данной сборке. Остается возможность изменить работу любого из компонента системы включая сам движок. Работу любого сайта можно изменить положив измененную копию файла компонента в директорию архива.

    Инструкция по установке доступна по адресу: http://mpak.su/pages/pid:526

    Для примера чтобы добавить новый шаблон в систему нужно в директории в которой находится файл добавить директорию themes и положить в нее готовый шаблон ftp://mpak.su/themes Данный шаблон станет доступен в выпадающем списке в настройках модуля "Редактор тем". Выбор данного новой темы и списка и сохранение параметра приведет к смене темы сайта. Таким же образом добавлением в основную систему файлов модулей приведет к их доступности для установки. Появление файла index.php приведет к замене им основного файла движка внутри системы. Новые блоки в директориях нужных директориях добавляет новые блоки в системе. И так далее для любого компонента системы.
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Омг, эти 3,34Мб будут грузиться в озу и парситься при каждому запросе
     
  3. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Разработчики php пишут что это по быстродействию phar адхивы не уступают обычной файловой системе. Данная библиотека была в последней версии пхп 5.3 переписана на С с увеличением быстродействия. По phar можно почитать тут http://tokarchuk.ru/2010/09/phar-упаковка-php-приложений/
     
  4. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    let's срач, перенесу в решения и алгоритмы
     
  5. phpdude

    phpdude Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    697
    Симпатии:
    0
    капец .... тебе бы чувак в ВАЗ устроиться ... а то они щас гавно делают. с тобой бы еще и гавно приподносить нормльно научились :D

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

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Ты хоть смотрел на то о чем счас делаешь выводы?
    Или как обычно все говно мне даже смотреть на это не обязательно. Я и так все знаю...

    Свои утверждения я могу обосновать. Один файл всегда легче в использовании кучи мелких. Представь если бы любое приложение для компьютера распространялось сотней файлов. Как счас. И чтобы устанавливать нужно распаковывать и настраивать права доступа к файлам. Здесь все это не нужно. Копируем файл добавляем .htaccess и запускаем установщик. Чего стоит перенесение архива в директорию на уровень выше и phar_readonly 1 система становится просто не убиваемым даже на дырявом хостинге.

    А в разработке удобство в следующем. Я всегда могу где стоит система создать пару файлов и в системе появится новый модуль или блок. По такой же схеме добавляются новые темы и библиотеки. Файл всегда остается неизменным и содержит все необходимое для работы. При желании что то удачное всегда можно добавить внутрь архива как делается сейчас. По такой схеме работает файловая система http://ru.wikipedia.org/wiki/UnionFS, данная схема используется на моем сервере http://mpak.su и ее же я применил в данном решении.

    К этим дебилам я тоже отношусь. Меня парит следать за правами доступа на хостинге постоянно думать кто сможет обратится к файлу помимо меня еще и что из этого получится и какие права выставил модератор на хостинге. Если я сделаю что нибудь для этого чтобы этот процесс стал легче в идеале вообще никогда не думать над этим, то я проживу жизнь не зря. А упрощать для себя работу или терять время на это, каждый выбирает для себя сам.
     
  7. phpdude

    phpdude Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    697
    Симпатии:
    0
    понятно, очередные выдуманные решения, прикрывшись "так делают все" для выдуманных вил, удачи в распространении уг
     
  8. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Я бы всетаки посоветовал смотреть на то что обсуждаешь. Если есть какие то вопросы или нашел несоответствие в том что я написал с тем что есть на самом деле я смогу пояснить. Думаю ты по существу даже вопрос не сможешь задать. Потому что не понимаешь о чем вообще речь идет. Твои слова кроме как пыль нельзя назвать. Мнение человека о том в чем он очень далек. Возьми поставь попробуй создать новый блок и тему. Думаю только слепой не заметит удобства решения.

    Моя цель не распространение как таковое. Я делаю инструменты удобными прежде всего для себя. Думаю как оптимизировать многие действия которые постоянно выполняются и достиг в этой задаче очень даже не плохих результатов. Тостиг того что сайт устанавливается за две минуты. Весь процесс автоматический. Пример на http://mpak.su/ И мне откровенно жаль тех программистов которые для того чтобы установить сайт каждый раз делают одни и те же действия каждый раз. Это еще один шаг к оптимизации своей работы. Три действия плюс доступно все что есть в основной системе.
     
  9. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    поймали троллика))
     
  10. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    О да, конечно, в 10000 строках кода разбираться проще, чем в 100.
    И как это мы до сих пор жили? Непонятно.
     
  11. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Это просто архив. Не путать с одним файлов. Количество файлов внутри архива все то же. Структуру системы можно посмотреть здесь ftp://mpak.su Изменен только конфигурационный файл и исключены некоторые редко используемые библиотеки и добавлен модуль работы с псевдо статическими файлами. При желании всегда можно распаковать архив и получите все те же кучу файлов.
     
  12. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    mpak
    А чего mysql, а не mysqli?

    Бррр, не, как-то не возбуждает.


    http://mpak.su/opros/1
    http://mpak.su/opros/99999999999
    Еще более не возбуждает.
     
  13. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Почему это должно возбуждать? Это же не женщина. Вот исходный код данного модуля. ftp://mpak.su/modules/opros/index.php и шаблон ftp://mpak.su/modules/opros/index.tpl На данный момент в нем реализована очень простая схема которую всегда можно изменить. Я сторонник минимализма. Если можно обойтись без какой то лишней проверки то так и стоит сделать. Хотя я знаю многие со мой не согласятся. Код в /index.php по задумке всегда остается неизменным. Все реализуется только в модулях. А их код опять же очень прост и не ограничивает разработчика в средствах выбираемых для работы. Можете использовать свои классы библиотеки и все то угодно. Модуль берется и делается с нуля. С пустого файла.
     
  14. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    mpak
    Ну, это понятно. Но раз уж используется php и mysql, можно было бы хотя бы mysqli использовать.
    Да и ООП не зря реализовали в php.
    21 век, черт бы его подрал...

    А isset не нужно использовать?

    Угадайте, чему всегда будет равно это выражение?
     
  15. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    phpdude, слууушай, шёл бы ты нафиг уже, а? Чего ты постоянно приёбываешься к mpak? Не, я понял-понял, ты типа ходишь по форуму и оставляешь короткие вроде как ироничные комментарии "на грани" - круто же писать "блин" там, где это не популярная практика. Нонконформист по жопу ноги. Но это уже порядком подзаебало.

    admyx, isset() тут не нужен, если нотисы давятся. if($_POST) - array() == false - пустой массив == пустота, да. Основа PHP.
     
  16. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    lexa
    Давить нотисы - моветон-с, сударь.

    Во-первых, увеличивается время выполнения скрипта.
    Во-вторых, забивает логи.
    В-третьих - вот зачем намеренно оставлять ошибки в коде???

    isset() нужен.
     
  17. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  18. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    admyx
    ну согласись, с пустым массивом он тебя подловил

    а вообще да, isset неплохо бы. В Мадженте вот после нотайса страница не покажется.
     
  19. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    да и Фабьен пишет код без нотайсов
     
  20. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Koc
    А ведь правда...
    Меня почему-то переклинило, что массив, даже пустой, но предопределенный, это true

    PHP:
    1. <?php
    2. if(isset($_POST))
    3. {
    4.     print_r($_POST);
    5. }
    6.  
    7. if($_POST)
    8. {
    9.     print_r($_POST);
    10. }
    Срабатывает только первое ))
     
  21. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Недавно столкнулся что isset не корректно работает. Элемент в массиве есть а на проверку иисетом получаю что такого нет. поэтому с недавних пор стараюсь использовать array_key_exist()
     
  22. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    null?

    Что будет, когда он не придёт?
     
  23. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    В моем случае элемент массива было пустое значение и isset не срабатывал. Хотя подозреваю что и с другими значениями может быть трабла. Читал что такое не только у меня. Похоже поэтому и сделали array_key_exist

    Если пост пустой будет false
     
  24. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Но это все батва. Вы саму возможность использовать систему в одном файле оценили? Вместе с моей основной системой красиво получается. Счас каждый хост их десятки хранит в файловой системе только измененные данные. То есть там нет движка и большей части модулей и блоков. Но есть свои модули и блоки и те которые изменены. Какая то часть сайтов в которых менялись только данные вообще без собственных файлов работают. Там ничего дополнительно копировать не надо. При переносе мне нужно только закинуть этот файл. Положить .htaccess и добавить то что лежит в директории хоста то есть измененные файлы относительно основной системы. И все перенос закончен. Ну и базу забыл. Чувствуете насколько красиво? И опять же для обновления движка на новую версию я просто меняю файл phar и все основные файлы заменяются на более новые. Не надо искать что изменилось за это время а что нет. Все новые модули новые входящие в обновленную версию системы становятся видны как не установленные и устанавливаются одним нажатием.
     
  25. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Потральная, такая потральная...
     
Статус темы:
Закрыта.