Я пытаюсь получить голову вокруг скомпилированных сращиваний. С помощью предыдущей справки я могу скомпилировать и сделать некоторые полезные результаты. Я не совсем понимаю, как это работает.Snap: доступ к базам данных с скомпилированными сращиваниями
В интерпретируемом режиме алгоритм прост: постройте root, вызовите функцию обработчика, учитывая отображаемый URL-адрес, вытащите данные из базы данных, постройте и привяжите сращивания из вытащенных данных, вставьте их в heist и вызовите подходящий шаблон.
Все перевернуто в скомпилированном режиме. Я сопоставляю url напрямую с cRender и не вызываю обработчик. Поэтому я предполагаю, что все функции построения сплайсов и обработки данных вызываются во время загрузки.
Так что мой вопрос в том, когда называется база данных? Это происходит и во время загрузки? Это просто последовательность событий, которые я не понимаю.
Поскольку конструкция сплайсинга не зависит от конкретного рендеринга шаблона, означает ли это, что привязывающие метки являются уникальными по всему приложению? Являются ли они глобальными переменными?
Thanks
Имеет смысл. Время выполнения и время загрузки в значительной степени понятны. В большом приложении, однако, потребуется довольно много уникальных глобальных констант. Таким образом, у нас могут появиться странные длинные теги для сращивания, такие как «admin_category_users_id», вам не кажется? –
Да. Я думаю, что это неизбежная сложность. – mightybyte
@mightybyte. Но многие из этих тегов будут привязаны к подмножествам, связанным с сращиванием верхнего уровня, используя 'withLocalSplices' и связанные с ним функции. Они не были бы действительно глобальными, не так ли? Возможно, можно было бы даже использовать «фиктивные стыки верхнего уровня», которые просто обернули другие сращивания и работали как замена пространств имен ... это могло бы ухудшить производительность? – danidiaz