Download the PHP package maximaster/tools.finder without Composer

On this page you can find all versions of the php package maximaster/tools.finder. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?
maximaster/tools.finder
Rate from 1 - 5
Rated 5.00 based on 1 reviews

Informations about the package tools.finder

maximaster/tools.finder

Библиотека предоставляет функционал для выборки из БД идентификаторов различных сущностей. Это необходимо, чтобы отвязать свой код от необходимости использования в нем идентификаторов, как это обычно бывает

Библиотека состоит глобально из 3х частей:

Пример использования

Основными входными точками для использования функционала являются методы get() и getId(). У каждой конкретной реализации Finder'а для сущности эти методы содержат разный перечень параметров (см. phpDoc для деталей). Например, для инфоблока данным методам необходимо передать строчный идентификатор типа инфоблока, а также символьный код самого инфоблока.

, а для раздела инфоблока метод get() будет иметь другой набор параметров, а именно идентификатор инфоблока и символьный код раздела. Если вы хотите обратиться к какому-то разделу из инфоблока с каталогом, нужно воспользоваться следующим примером:

Метод get() получает массив с информацией о сущности. Там может быть набор различных полей, в будущем, возможно и всех полей сущности. Метод getId() получает только числовой идентификатор сущности

Более эффективная работа с идентификаторами

Для упрощения работы имеет смысл создать свои шорткаты, унаследовавшись от реализаций конкретных файндеров. Например для инфоблоков можно создать свой класс \Vendor\Finder\Iblock, унаследоваться от частной реализации Finder'а инфоблока \Maximaster\Tools\Finder\Iblock, и реализовать в нем методы для быстрого доступа к разным инфоблокам. Например, для того же каталога:

Реализация собственных Finder'ов

Для создания файндера для конкретной сущности необходимо унаследоваться от AbstractFinder и реализовать несколько методов:

Кроме класса самого Finder'а, который будет выбирать данные из БД необходимо реализовать еще и методы очистки данных при их изменении. Например, если инфоблок меняет свой код, то очевидно, что нужно инвалидировать кеш, иначе вы не сможете получить идентификатор сущности по ее актуальному символьному коду. Для этого необходимо создать набор обработчиков OnAdd, OnUpdate и OnDelete, которые будут обновлять кеш выбранной сущности. Для инвалидации кеша необходимо использовать метод AbstractFinder::invalidateCache(). За примерами можно обращаться к классам из директории src/EventHandlers данной библиотеки. Все обработчики событий в библиотеке подключаются с помощью maximaster/tools.events.

WTF. Почему статика?

Потому-что ... Битрикс - статический синглтоновый глобальный монстр. Как только он даст возможность работать хотя бы в режиме ServiceLocator, тогда и поговорим.


All versions of tools.finder with dependencies

PHP Build Version
Package Version
Requires php Version ^5.6 || ^7.0 || ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package maximaster/tools.finder contains the following files

Loading the files please wait ....