ArbNet

ArbNet
Рейтинг
146
Регистрация
27.10.2019
Программист самоучка
timo-71 #:
У вас не очень похоже на шаблонизатор.

Да, у меня что-то типа интерпретатора.

Cuys #:
Ну вот в общем то такие вот и дела. Я постараюсь этому человеку и дальше помогать

Респект и уважуха, побольше б таких как вы. И полезную инфу собрали, опубликовали, людям интересно&познавательно, человеку помощь, для вас опыт и оттачивание мастерства.

Aisamiery #:
- что будет в случае если человек опечатается где то в глубоко вложенных файлах? xml язык строгий, и не закрытый тэг будет катастрофичен а ошибка вряд ли даст какое то вменяемое объяснение

Так же как и в PHP будет ошибка, которая выведется на экран с указанием файла, строкой и сообщением.

Aisamiery #:
- заметьте, люди которы не знают пхп и другие ньюансы, так же не знают и тонны параметров и нод вашей cms и их знание в дальнейшем по сути будет бесполезным

Для написания XML инструкций надо знать некоторые принципы их составления, плюсом будет знание HTML, CSS и PHP, но это не обязательно. Чтобы получить желаемый результат из узла, компонент или данные, нужно просто ознакомится в контрольной панели какие в узле есть компоненты и методы получения обработки и сохранения данных, прописать нужные инструкции, всё.

Aisamiery #:
В вашем случае по мимо выделение памяти под объект (переменную), надо еще выделить память под ресурс, получить handler от OS на чтение с файловой. А утечки памяти в php не бывает (ну если берем классическое использование, как например ваша cms). Разберитесь вначале с терминами, которыми оперируете.

Да, понятие утечки памяти есть в низкоуровневом программировании и понятие иное нежели я имел виду то, что при нативных шаблонах PHP нужно выделять память для многих переменных не только сбора данных для рендеринга, но и другие и с каждым одновременным запросом память утекает, свободной оперативки становится меньше, при больших нагрузках сервер будет тормозить. У меня нет нужды занимать оперативку чтобы собрать данные и потом их рендерить в шаблон, разметка формируется сразу при выполнении инструкции из XML.

Aisamiery #:
SimpleXML использует для парсинга библиотеку  libxml2 (это про какой то там машинный код), но вы не забывайте что вам надо интерпретировать ваш код и распарсить xml, против нативного интерпритатора. Ну и libxml2 строит DOM, с ней удобно работать, но она достаточно медленная, быстрее работает SAX

XML Parser также использует libxml, тесты не делал, но SimpleXML легче, только самые нужные методы, ничего лишнего, поэтому думаю и быстрее.

Aisamiery #:
вы над ним выдумываете еще один шаблонизатор лично для меня остается загадкой, а это настройка через атрибуты вообще какой то ад, попробуйте переложить все многообразие атрибутов какого нибудь слайдера на ваш xml стиль, там для таба и переключателя иконки треш на несколько строк, что же будет на чем то более серьезном

До меня многие выдумывали на PHP шаблонизаторы, плох тот кто не старается автоматизировать свою работу 😀 Вы не можете просто представить даже как у меня это легко реализовывается, есть компоненты, в которых составляется шаблон, стилизуется, также пишутся команды js скрипта, подключаются модули, например Unit, и можно с слайдером сделать что угодно. Не нужны никакое многообразие атрибутов и прочей каши.., что у вас в голове..

SeVlad #:
(А я, если хочешь, объясню откуда 300% взялось)

Спасибо, обойдусь 😆

SeVlad #:

А расскажешь в каком томе, на какой странице Кнут пишет о низкоуровневом программировании, да ещё для разработки клиентских приложений высокого уровня (таких как разбор XML)? :popcorn:

И почему я на  300% уверен что не расскажешь... ;)

Ты расскажешь 😁

Sly32 #:

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

Почитай таки уже Кнута - "Искусство программирования" 😁
webinfo #:

В прямом смысле ДА, так как объект создаётся путём парсинга текста.

Это делается на низком уровне мгновенно, не посредством интерпретации PHP, парсингом текста XML файла.

webinfo #:

А это не парсинг?

В прямом смысле НЕТ, так как при работе с объектом, производится получение его свойств напрямую без поиска по тексту. Парсинг - это поиск по тексту по паттерну регулярных выражений или xpath, более энергозатратный нежели работа с объектом, тем-более встроенного модуля, который работает на низком уровне.

ЗЫ. У меня есть поиск в XML через xpath для нахождения вложенных структур, но это действие единичное и плохой погоды не сделает.

Aisamiery #:

И еще, не раскрыт вопрос в чем преимущество xml в вашем случае если вы там сделали все равно адовое месиво? И почему нельзя это заменить обычным каким нибудь Node::include('node_name', $params = []) или Node::run('node_name:node_method')? Ведь нативный php работает быстрее, а вам еще надо считать файлы с файловой и распарсить их, что изначально не самая быстрая операция (для xml)

Я уже неоднократно говорил в чём преимущество, ещё раз скажу.

  • Я выбрал этот способ так как при написании обычных\нативных шаблонов требуются знания HTML, CSS, БЭМ и тд и тп. + PHP(так как нужны вставки данных <?php | <?=), то есть это не полное разделение шаблона от кода, то есть частичное MVC. Людям которые не знают PHP и другие нюансы затруднительно составить такой шаблон.
  • В моём случае для составления шаблона компонента надо знать только HTML, для стилизации ещё CSS. Но и даже этого не потребуется так как со временем я подготовлю нужные компоненты.
  • Нативные шаблоны требуют хранения данных в переменных в памяти, которые затем рендерятся в шаблон, а это нагрузка на сервер так как идёт утечка оперативной памяти из за этого.
  • Составление инструкций XML для страницы практически похоже на составление HTML шаблона, поэтому люди без знаний программирования могут это легко усвоить и создавать свои сайты ни чем не уступающие по возможностям с профессиональными программистами.
  • У меня происходит получение инструкций из XML и сразу же формирование страницы. Получение инструкций из XML выполняется не парсингом, а напрямую через работу с объектом XML, которая выполняется на низком уровне\ машинном языке посредством PHP модуля SimpleXMLElement.
  • Кроме того вместо редактирования разных шаблонов\файлов для создания страниц(ы) нужно только написание инструкций в одном XML, движок из готовых компонентов и данных из базы фактически на лету формирует страницу. Браузер кэширует полученные файлы css и js, загрузка других страниц ускоряется, так как запрашивается только HTML разметка и по мере надобности нужные css, js которых нет в кэше браузера.
Dram #:
Небольшое замечание по видео - вы там засыпаете или писали ночью? Лучше подготовьтесь и говорите четки и быстро. Паузы и зависания режут слух.

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

Всего: 2250