Download the PHP package akiyatkin/boo without Composer
On this page you can find all versions of the php package akiyatkin/boo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download akiyatkin/boo
More information about akiyatkin/boo
Files in akiyatkin/boo
Package boo
Short Description Серверное кэширование с ручным избирательным обновлением
License
Homepage https://github.com/akiyatkin/boo
Informations about the package boo
Boo-кэш - управляемый кэш сайта
Кэширования результата при работе с удалёнными хранилищами, обращение, к которым требует значительного времени, такими как Google Drive.
Рекомендуется использовать на небольших сайтах (10 000 кэшей), когда администратор вносит изменения на удалённом хранилище и сбросив нужный кэш применяет изменения на сайте. Целесообразно применять в тех случаях, когда нет возможности настроить обратную связь для автоматического обновлениея кэша. Ручное и избирательное управление кэшем является ключевой особенностью Boo-кэша.
Поддерживаются вложенные кэши и повторное исплользование, когда в дереве зависимостей у экземпляра кэша несколько родителей. Во всех случае кэшируемая функция выполняется один раз. При обновлении зависимых кэшей обновляются и все родительские кэши.
Установка через composer
-
Должен быть .htaccess с настроенной переадресацией для адресов начинающихся с символов согласно правилам infrajs/router, чтобы в проекте работал адрес /-boo/. Совместим с любыми другими роутерами или фреймворками.
- Необходимо настроить права для упраления кэшем. Для этого создать в корне проекта конфигурационный файл .infra.json. Для сервера 127.0.0.1 разрешение есть автоматически, но на других серверах нужно будет указать ip адрес в секции access.test или для общего доступа к интерфейсу управления кэшем. Доступом управляет расширение infrajs/access.
Файл .infra.json
-
В скрипте, который работает с расширением Boo рабочая дирректория должна вести на корень проекта. Если скрипт лежит во вложенной папке должна быть команда согласно требованиям infrajs/path
- Для того чтобы работал параметр в адресной строке скрипта требуется выполнение , или обращение по адресу с символом -, тогда роутер подключается автоматически и рабочую дирректрию также не нужно менять она всегда будет от корня, вне зависимости от расположения файла скрипта.
Использование
Функция сохраняет кэши и позволяет выборочно обновлять их по адресу (С правами тестировщика infrajs/access и настроенным роутером infrajs/router)
Для работы GET-параметра -boo скрипт должен вызываться или с символа - или содержать инициализацию роутера.
Записки разработчика
Cache сохраняет кэш на жёстком диске в папке . Описание кэш-элементов для которых предусмотрена админка (BooCache) хранится в .
item.result, item.conds, item.childs восстанавливаются и их без выполнения нельзя получить из исходных данных кэш-функции. Если есть conds, то childs не нужен.
Лучше аргументы conds получитать в проверяющей функции, чем сохранять в condsarg. condsarg закэишрует значения аргументов и может сложиться, что будут использоваться старые значения, например если аргументы формируются из конфига. Запомнились в кэше, а потом конфиг был изменнён и обновления сайта произойдёт только после -update=true, так как аргумент к проверяющей фукции будет неизменным.
-
Выполняет установку без удаления кэша
-
Удаляет весь кэш
- Проверки запускаются, кэш перегенерируется для обычного пользователя
, , - Запускают проверки, некоторые кэши не сохраняются и не обновляются. Например несжатый html и css в кэш не попадают.
-
Работает только с . Проверки запускаются, некоторые проверки true. - элементы перегенерируются для пользователя.
- Работает только с . Все проверки true - все эелменты перегенерируются.
При обращение к базе данных срабатывает заголовок nostore, который отменяет сохранение кэша и нужно вызвать если обращение к базе не должно запрещать кэш и написать проверку обновления используемых из базы данных.
Флаги кэш-элементов
- nostore
- checked
- loaded
- start
Динамические свойства кэш-элементов
- childs
- time
- timer
- result
- conds
Статические свойства кэш-элементов
- id
- gid
- cls
- src
- gtitle
- title
- condfn
- condargs
- args
- hash
Контакты
Задать вопрос можно в группе ВКонтакта https://vk.com/infrajs или в issues на github.
All versions of boo with dependencies
infrajs/router Version ~1
infrajs/rest Version ~1
akiyatkin/fs Version ~1
infrajs/load Version ~1
infrajs/once Version ~1
infrajs/access Version ~1
infrajs/sequence Version ~1
infrajs/ans Version ~1