За последние 24 часа нас посетили 18244 программиста и 1606 роботов. Сейчас ищут 1552 программиста ...

PinPIE

Тема в разделе "Прочее", создана пользователем igordata, 27 мар 2016.

  1. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Сейчас будет антиреклама:(
    Ну подключи твиг если хочешь кеширование но не хочешь гемороя, пару строчек кода для роутинга пару строчек что бы в файл данные писал. Нафига эта мутатень не понимаю)
    А sqlite не рассматриваешь?
    --- Добавлено ---
    Глянь сюда https://getkirby.com/
    тоже типо снипеты и т.д. недельку поразбирай код и свой напиши велосипед)
     
    VLK нравится это.
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    ну а зачем это собирать, писать эти строчки, потом еще самое главное тестировать, если уже есть готовое..
    ну там где база все еще избыточна, а с файлами уже туго, то конечно надо использовать..
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Нет в тебе духа авантюризма и первооткрывателя:(
    А почему ты уверен что Игорь или кто либо еще не накосячит? o_O
    Совершить ошибку при написании сайта визитки из пару страниц довольно сложно... но можно:(
     
  5. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    ты такие странные вопросы задаешь, своя велосипед я использую сам, а его велик использую не только я, в случае чего проще найти ошибку.
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Да пусть меня простит Игорь, но то что имеется на данный момент мне кажется никому нафиг не нужно)
    Это сейчас даже не велосипед это 2 колеса палка скрепленные жвачкой.

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

    Если ты так горишь опенсорсом погуглил бы cms с активными комитами.
     
    runcore нравится это.
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Это порождает непредсказуемость результата. Но я тебя понял.

    В принципе как костыль можно установить в конфиге
    PHP:
    1. <?php
    2. $pinpie['template clear vars after use'] = true;
    и возможно, что при вызове
    PHP:
    1. <?php
    2. PinPIE::parseString("[[*плейсхолдер для меню]");
    И тогда он очистится. Но я запилю метод на днях.
    --- Добавлено ---
    Мне раньше тоже так казалось. Но для некоторых сайтов оказалось удобнее делать на файликах - раз. Два - версии и дебаг - два сильных аргумента в пользу удобства. Так что вот родил PinPIE.
    --- Добавлено ---
    ну по крайней мере мне :D

    Любой инструмент в имеет свои границы применимости. Он в чем-то не удобен, а в чем-то очень даже удобен. Если обточить PinPIE он может станет вполне себе удобным. Я знаю, что ты мой фанат, но даже ты наверное не думаешь, что можно прям вот так сразу родить шедевр. Нужен фидбек. Я его получаю, и благодарен за него. Постараюсь подпиливать.

    Но когда я рожал PinPIE, то я четко установил себе некоторые задачи. Типа, прогнозирумость поведения кеша. Возможность дебага с брейкпоинтами. История версий. Я эти задачи решил. Сейчас вот полезут други. Поглядим.
    --- Добавлено ---
    это скорее маленький карманный ножик-кусачки для ногтей. В этом и радость, чувак! =) В этом-то вся идея!
    --- Добавлено ---
    я брал. Получал головняк с версиями. Получал головняк с дебагом. Мне надоело.

    Более того, я сделал штуку, которая очень быстрая, да. Чтобы она была быстрой. В PinPIE много для этого есть. Например, удобный шардинг. Сейчас, когда приходит HTTP 2 это уже смотрится не так нужно, а без него, и пока он не пришёл, ещё актуально. Скорость загрузки сайта влияет не только на яндексы да гуглы. Это влияет на продажи.
    --- Добавлено ---
    И да, у меня нет админки. Моя админка это - IDE.
     
  8. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    @smitt, ну какое-то мини-сообщество уже вырисовывается, как видно. Притом разработчик на связи, которые и подскажет в случае чего, и стоящие идейки воплотит в жизнь. Чем плохо то?
    Я начал разбираться, поначалу простота понравилась. А потом резко пропало время :(
     
    igordata нравится это.
  9. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Плохого ничего нет. Давайте взглянем немного иначе, в пхп мире создано уже очень много чего, существует много всяких решений.
    Пусть кто нибудь объяснит в чем уникальность данного решения, чем он сможет заинтересовать сообщество программистов?
    Ведь если у продукта нет преимуществ то оно в большинстве своем обречено на провал.
     
  10. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @smitt MODx знаешь?
     
  11. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    @[vs] особо не приходилось с ним работать но в курсе.
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Спасибо. Мини-сообщество при том, что я пока нигде не светил, кроме этого форума. Я стеснительный.

    @smitt
    вот ты привёл выше ссылку https://getkirby.com/
    там первый скриншот с админкой. С редактором. Во-первых, с админкой и сниппетами есть ModX который охуенен.
    Во-вторых, админка тащит свои проблемы:
    • Плохоконтролируемый постоянно кривящийся html
    • Нельзя пихать php и нормально его дебагать при этом. Либо пихать, либо дебагать.
    • Зачастую, код php выполняется через eval, что лишает преимуществ по предкомпиляции php-кода в опкод и кеширования опкода опкод-кешерами, что очень печально. Единственный способ это обойти - делать файлики. Т.е. CMS должна брать код страницы из БД и пихать на хард, и тогда будет опкод-кешер подключаться.
    Ну вот я запилил PinPIE поэтому. Для простейших задач. Гилдвол тоже на нём, ксати. Но пока он прототип. Потом надо будет перейти на что-то тотально аяксовое.
     
  13. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    @igordata не аргумент:( Сомневаюсь что ты найдешь свою аудиторию.

    Первая ссылка где упоминалось о сниппетах и глянул код вроде разобрать без бубна можно.
    Дал для изучения и написания своего велосипеда.
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ты принципиально не слушаешь собеседника, да? Ты никогда не споришь. Ты просто пишешь, что это неправильно. На всё и на всех. Не приводя никаких аргументов. Тебе в ответ на твои реплики человек приводит четыре аргумента, а ты просто отвечаешь "нет, это дерьмо" и всё? Серьёзно? Я думал, ты только по политоту так срач ведёшь, а тут что-то здравое скажешь. Ты меня разочаровываешь, прости.

    Ещё раз, я написал, где и главное чем PinPIE удобен и хорош. Судя по тому, что ты даже с модыксом знаком крайне условно, то ты вообще не особый знаток CMS как таковых.

    Аргументы будут?
     
  15. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    надо добавить папку для пользовательских скриптов, это конечно может выглядеть глупо, просто пустая папка в которой должны быть пользовательские скрипты, которые надо будет в ручную подключать в preinclude.php и запись в мануале "если хочешь свои скрипты, держи их в этой папке".


    возможно еще надо создать автолоадер для классов (под пользовательскими скриптами я подразумеваю именно классы) который будет проверять в массиве (база классов) по типу 'имя класса' => 'путь к файлу с классом', и где то в preinclude.php надо будет так или иначе в эту базу классов добавлять новые классы.
    Но не знаю на сколько этот автолоадер актуален.

    может кто-то будет писать какие то штуки (плагины, модули) которые потом будут прикручиваться к CMS.
    какую-нибудь мелочь, меню, хлебные крошки и т.д.
     
  16. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Начнем с того что в твоем творении и так 90% писать самому надо. С хрена мне брать непонятную хрень в ней разбираться если я могу за день написать твой аналог?
    Остальные доводы будут потом. У меня дела.
     
  17. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    и еще 2 вещи, во первых любой евнух может перейти в /pages/about.php и увидеть содержимое (какие чунки, сниппеты и т.д. вызываются), при этом в каждой папке присутствует файл dummy (на сколько я помню потому что unix может не создать пустую папку, что-то такое), может стоило бы его заменить на .htaccess запрещающий лезть в эти папки?
     
  18. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    мм..

    @VLK
    Про папку.
    Автолоадер композера очень хорошо работает. Тоже подключается одной строкой. В преинклуде или в индексе. Он держит всё в своей папке, и этот велосипед точно не стоит изобретать. Стоит использовать композер.

    PHP сам по себе отличная штука, и подключение файлов в нём тоже реализовано прозрачно. Если кто-то хочет класть что-то куда-то, то он может делать это сейчас так, как ему нравится. Я например кроме композера держу ещё свои /classes и /libs. Не уверен, что в этом месте стоит навязывать какие-то правила, т.к. в PHP это уже вполне продумано и реализовано удобно.

    Возникают вопросы, ответы на которые мне не кажутся очевидными. Какие плюшки даёт привязка к одной папке? Почему в одной папке? Какой механизм автозагрузки? Грузить все или только при обращениях? И т.п.

    Про то, что у тебя файлы видно.
    На каком конфиге видно? У меня не видно. В моём конфиге обращение к урлу /pages/about.php не приводит ни к скачиванию, ни к выполнению этого файла. В моём конфиге для того, чтобы получить ответ по урлу /pages/about.php нужно, чтобы файл лежал в /pages/pages/about.php.php. Но вряд ли это кому-то потребуется, хотя можно, да.

    Давай посмотрим твой конфиг, или если ошибка в моём - я исправлю. Файлы php отдаваться не должны ни в коем случае. Они должны исполняться, а все запросы должны проходить через index.php.
     
    #118 igordata, 21 июл 2016
    Последнее редактирование: 21 июл 2016
  19. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    А еще можно в проекте сделать папочку типа /web или даже /src/web и она будет корнем документ-рутом для веб-сервера. Тогда всё, что лежит в /classes или /pages автоматом будет недоступно для прямых запросов по HTTP.
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    с нгинксом никогда не было проблем такого плана. Если в конфиге сказано всё на index.php, значит так и будет.
     
  21. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    ну кто хочет тот сделает свою, а кто-то хочет что бы за него сделали!

    Код (Text):
    1. <IfModule mod_rewrite.c>
    2.     <IfModule mod_negotiation.c>
    3.         Options -MultiViews
    4.     </IfModule>
    5.  
    6.     RewriteEngine On
    7.  
    8.     # Redirect Trailing Slashes...
    9.     RewriteRule ^(.*)/$ /$1 [L,R=301]
    10.  
    11.     # Handle Front Controller...
    12.     RewriteCond %{REQUEST_FILENAME} !-d
    13.     RewriteCond %{REQUEST_FILENAME} !-f
    14.     RewriteRule ^ index.php [L]
    15. </IfModule>
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    гляну как смогу
    --- Добавлено ---
    Боюсь, что это не отвечает на поставленные вопросы, а без этого сложно принять решение.
    --- Добавлено ---
    эта строка говорит, что если запрошенной папки не существует - то включай реврайт, т.е. запрос пойдёт на index.php
    то же самое, только про файл.

    Ну вот эти строки тебе всё и портят. Тебе нужно их удалить. Чтобы статики отдавались, нужно прописать отдельное правило, чтобы отдавать файлы, и указать точно папки, из которых их можно отдавать. Тогда будет норм. =)
     
  23. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Эм... Если Не каталог И Не файл то раутим на индекс.
     
  24. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    @igordata ну как бы тебе объяснить... представь ты среднестатистический пхп программист, а может даже представлять не надо. У тебя задача написать простенький сайт-визитка у тебя есть опыт создания хотя бы 2 сайтов есть кое какие наработки. Как считаешь какой процент программистов полезет искать готовое решение? o_O Хотя это даже не готовый вариант `поставил-забыл` это каркас и все равно еще сидеть потеть и разбираться.

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

    Какую нишу должен занять пинпай? Я не вижу, объясни мне пожалуйста. Мифический сумасшедший прирост производительности не аргумент для меня.
     
    #124 smitt, 21 июл 2016
    Последнее редактирование: 21 июл 2016
    runcore нравится это.
  25. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Ты завидуешь чтоль, что он может написать двиг, а ты нет? :D
    ага.