Сейчас будет антиреклама Ну подключи твиг если хочешь кеширование но не хочешь гемороя, пару строчек кода для роутинга пару строчек что бы в файл данные писал. Нафига эта мутатень не понимаю) А sqlite не рассматриваешь? --- Добавлено --- Глянь сюда https://getkirby.com/ тоже типо снипеты и т.д. недельку поразбирай код и свой напиши велосипед)
ну а зачем это собирать, писать эти строчки, потом еще самое главное тестировать, если уже есть готовое.. ну там где база все еще избыточна, а с файлами уже туго, то конечно надо использовать..
Нет в тебе духа авантюризма и первооткрывателя А почему ты уверен что Игорь или кто либо еще не накосячит? Совершить ошибку при написании сайта визитки из пару страниц довольно сложно... но можно
ты такие странные вопросы задаешь, своя велосипед я использую сам, а его велик использую не только я, в случае чего проще найти ошибку.
Да пусть меня простит Игорь, но то что имеется на данный момент мне кажется никому нафиг не нужно) Это сейчас даже не велосипед это 2 колеса палка скрепленные жвачкой. Не читал с начала, но как понял штуковина позиционируется как некоторый базис на основе которого будет строится основной сайт... Чем разбираться с этой мутотенью я думаю многие предпочтут взять готовый cms или если мелкое что то написать с нуля без всяких мифического турбо ускорения. Если ты так горишь опенсорсом погуглил бы cms с активными комитами.
Это порождает непредсказуемость результата. Но я тебя понял. В принципе как костыль можно установить в конфиге PHP: <?php $pinpie['template clear vars after use'] = true; и возможно, что при вызове PHP: <?php PinPIE::parseString("[[*плейсхолдер для меню]"); И тогда он очистится. Но я запилю метод на днях. --- Добавлено --- Мне раньше тоже так казалось. Но для некоторых сайтов оказалось удобнее делать на файликах - раз. Два - версии и дебаг - два сильных аргумента в пользу удобства. Так что вот родил PinPIE. --- Добавлено --- ну по крайней мере мне Любой инструмент в имеет свои границы применимости. Он в чем-то не удобен, а в чем-то очень даже удобен. Если обточить PinPIE он может станет вполне себе удобным. Я знаю, что ты мой фанат, но даже ты наверное не думаешь, что можно прям вот так сразу родить шедевр. Нужен фидбек. Я его получаю, и благодарен за него. Постараюсь подпиливать. Но когда я рожал PinPIE, то я четко установил себе некоторые задачи. Типа, прогнозирумость поведения кеша. Возможность дебага с брейкпоинтами. История версий. Я эти задачи решил. Сейчас вот полезут други. Поглядим. --- Добавлено --- это скорее маленький карманный ножик-кусачки для ногтей. В этом и радость, чувак! =) В этом-то вся идея! --- Добавлено --- я брал. Получал головняк с версиями. Получал головняк с дебагом. Мне надоело. Более того, я сделал штуку, которая очень быстрая, да. Чтобы она была быстрой. В PinPIE много для этого есть. Например, удобный шардинг. Сейчас, когда приходит HTTP 2 это уже смотрится не так нужно, а без него, и пока он не пришёл, ещё актуально. Скорость загрузки сайта влияет не только на яндексы да гуглы. Это влияет на продажи. --- Добавлено --- И да, у меня нет админки. Моя админка это - IDE.
@smitt, ну какое-то мини-сообщество уже вырисовывается, как видно. Притом разработчик на связи, которые и подскажет в случае чего, и стоящие идейки воплотит в жизнь. Чем плохо то? Я начал разбираться, поначалу простота понравилась. А потом резко пропало время
Плохого ничего нет. Давайте взглянем немного иначе, в пхп мире создано уже очень много чего, существует много всяких решений. Пусть кто нибудь объяснит в чем уникальность данного решения, чем он сможет заинтересовать сообщество программистов? Ведь если у продукта нет преимуществ то оно в большинстве своем обречено на провал.
Спасибо. Мини-сообщество при том, что я пока нигде не светил, кроме этого форума. Я стеснительный. @smitt вот ты привёл выше ссылку https://getkirby.com/ там первый скриншот с админкой. С редактором. Во-первых, с админкой и сниппетами есть ModX который охуенен. Во-вторых, админка тащит свои проблемы: Плохоконтролируемый постоянно кривящийся html Нельзя пихать php и нормально его дебагать при этом. Либо пихать, либо дебагать. Зачастую, код php выполняется через eval, что лишает преимуществ по предкомпиляции php-кода в опкод и кеширования опкода опкод-кешерами, что очень печально. Единственный способ это обойти - делать файлики. Т.е. CMS должна брать код страницы из БД и пихать на хард, и тогда будет опкод-кешер подключаться. Ну вот я запилил PinPIE поэтому. Для простейших задач. Гилдвол тоже на нём, ксати. Но пока он прототип. Потом надо будет перейти на что-то тотально аяксовое.
@igordata не аргумент Сомневаюсь что ты найдешь свою аудиторию. Первая ссылка где упоминалось о сниппетах и глянул код вроде разобрать без бубна можно. Дал для изучения и написания своего велосипеда.
Ты принципиально не слушаешь собеседника, да? Ты никогда не споришь. Ты просто пишешь, что это неправильно. На всё и на всех. Не приводя никаких аргументов. Тебе в ответ на твои реплики человек приводит четыре аргумента, а ты просто отвечаешь "нет, это дерьмо" и всё? Серьёзно? Я думал, ты только по политоту так срач ведёшь, а тут что-то здравое скажешь. Ты меня разочаровываешь, прости. Ещё раз, я написал, где и главное чем PinPIE удобен и хорош. Судя по тому, что ты даже с модыксом знаком крайне условно, то ты вообще не особый знаток CMS как таковых. Аргументы будут?
надо добавить папку для пользовательских скриптов, это конечно может выглядеть глупо, просто пустая папка в которой должны быть пользовательские скрипты, которые надо будет в ручную подключать в preinclude.php и запись в мануале "если хочешь свои скрипты, держи их в этой папке". возможно еще надо создать автолоадер для классов (под пользовательскими скриптами я подразумеваю именно классы) который будет проверять в массиве (база классов) по типу 'имя класса' => 'путь к файлу с классом', и где то в preinclude.php надо будет так или иначе в эту базу классов добавлять новые классы. Но не знаю на сколько этот автолоадер актуален. может кто-то будет писать какие то штуки (плагины, модули) которые потом будут прикручиваться к CMS. какую-нибудь мелочь, меню, хлебные крошки и т.д.
Начнем с того что в твоем творении и так 90% писать самому надо. С хрена мне брать непонятную хрень в ней разбираться если я могу за день написать твой аналог? Остальные доводы будут потом. У меня дела.
и еще 2 вещи, во первых любой евнух может перейти в /pages/about.php и увидеть содержимое (какие чунки, сниппеты и т.д. вызываются), при этом в каждой папке присутствует файл dummy (на сколько я помню потому что unix может не создать пустую папку, что-то такое), может стоило бы его заменить на .htaccess запрещающий лезть в эти папки?
мм.. @VLK Про папку. Автолоадер композера очень хорошо работает. Тоже подключается одной строкой. В преинклуде или в индексе. Он держит всё в своей папке, и этот велосипед точно не стоит изобретать. Стоит использовать композер. PHP сам по себе отличная штука, и подключение файлов в нём тоже реализовано прозрачно. Если кто-то хочет класть что-то куда-то, то он может делать это сейчас так, как ему нравится. Я например кроме композера держу ещё свои /classes и /libs. Не уверен, что в этом месте стоит навязывать какие-то правила, т.к. в PHP это уже вполне продумано и реализовано удобно. Возникают вопросы, ответы на которые мне не кажутся очевидными. Какие плюшки даёт привязка к одной папке? Почему в одной папке? Какой механизм автозагрузки? Грузить все или только при обращениях? И т.п. Про то, что у тебя файлы видно. На каком конфиге видно? У меня не видно. В моём конфиге обращение к урлу /pages/about.php не приводит ни к скачиванию, ни к выполнению этого файла. В моём конфиге для того, чтобы получить ответ по урлу /pages/about.php нужно, чтобы файл лежал в /pages/pages/about.php.php. Но вряд ли это кому-то потребуется, хотя можно, да. Давай посмотрим твой конфиг, или если ошибка в моём - я исправлю. Файлы php отдаваться не должны ни в коем случае. Они должны исполняться, а все запросы должны проходить через index.php.
А еще можно в проекте сделать папочку типа /web или даже /src/web и она будет корнем документ-рутом для веб-сервера. Тогда всё, что лежит в /classes или /pages автоматом будет недоступно для прямых запросов по HTTP.
с нгинксом никогда не было проблем такого плана. Если в конфиге сказано всё на index.php, значит так и будет.
ну кто хочет тот сделает свою, а кто-то хочет что бы за него сделали! Код (Text): <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes... RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
гляну как смогу --- Добавлено --- Боюсь, что это не отвечает на поставленные вопросы, а без этого сложно принять решение. --- Добавлено --- эта строка говорит, что если запрошенной папки не существует - то включай реврайт, т.е. запрос пойдёт на index.php то же самое, только про файл. Ну вот эти строки тебе всё и портят. Тебе нужно их удалить. Чтобы статики отдавались, нужно прописать отдельное правило, чтобы отдавать файлы, и указать точно папки, из которых их можно отдавать. Тогда будет норм. =)
@igordata ну как бы тебе объяснить... представь ты среднестатистический пхп программист, а может даже представлять не надо. У тебя задача написать простенький сайт-визитка у тебя есть опыт создания хотя бы 2 сайтов есть кое какие наработки. Как считаешь какой процент программистов полезет искать готовое решение? Хотя это даже не готовый вариант `поставил-забыл` это каркас и все равно еще сидеть потеть и разбираться. Многие для сайта визитки поставят cms готовую или по быстрому накидают код который будет для обычного пользователя работать так же быстро как и твое творение. Никто не будет замерять скорость работы, да и не думаю что твой вариант даст сумасшедший прирост производительности. Для сложных проектов люди выберут фреимворки. Какую нишу должен занять пинпай? Я не вижу, объясни мне пожалуйста. Мифический сумасшедший прирост производительности не аргумент для меня.