Installing the Library ====================== .. note:: RollerworksSearch is developed in a monolith repository, split into smaller components, which follow the same release cycle and versioning. RollerworksSearch v1.0 is no longer maintained. If you're starting a new project (or already have a project) that will use one or more components, the easiest way to integrate everything is with `Composer`_. Composer is smart enough to download the component(s) that you need and take care of autoloading so that you can begin using the libraries immediately. This article will take you through using the core component, though this applies to using any component. **1.** If you're creating a new project, create a new empty directory for it. **2.** Open a terminal and use Composer to grab the library. .. code-block:: terminal $ composer require "rollerworks/search:^2.0" The name ``rollerworks/search`` is written at the top of the documentation for whatever component you want. .. tip:: `Install Composer`_ if you don't have it already present on your system. Depending on how you install, you may end up with a ``composer.phar`` file in your directory. In that case, no worries! Your command line in that case is ``php composer.phar require "rollerworks/search:^2.0"``. **3.** Write your code! Once Composer has downloaded the component(s), all you need to do is include the ``vendor/autoload.php`` file that was generated by Composer. This file takes care of autoloading all of the libraries so that you can use them immediately:: // File example: src/search.php // update this to the path to the "vendor/" // directory, relative to this file require_once __DIR__.'/../vendor/autoload.php'; use Rollerworks\Component\Search\Searches; $searchFactory = Searches::createSearchFactory(); $userFieldSetBuilder = $searchFactory->createFieldSetBuilder(); // ... .. note:: When using a Framework integration the autoloading is already set-up by your framework bootstrapping. Extensions ---------- The ``rollerworks/search`` core library itself does not provide any mechanise for searching in a storage engine (like Doctrine or Elasticsearch). Instead they are provided as separate libraries, called extensions. Framework integration libraries (provided by Rollerworks) are designed to provide a clear-cut and ready to use solution. Whenever you install an addition extension, the integration automatically enables the support for it. .. note:: Only extensions provided by Rollerworks are fully integrated, for extensions provided by third party developers you may need to enable some things manually. Framework integration --------------------- RollerworksSearch provides full integration for: * The :doc:`Symfony Framework `, * The :doc:`Api Platform `, * :doc:`Doctrine DBAL and ORM `. * :doc:`ElasticSearch `. Further reading --------------- * :doc:`Using the SearchProcessor ` * :doc:`Composing SearchConditions ` .. _Composer: https://getcomposer.org .. _Install Composer: https://getcomposer.org/download/