Download the PHP package gam6itko/spiral-validator-manticore-search without Composer

On this page you can find all versions of the php package gam6itko/spiral-validator-manticore-search. 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?

Informations about the package spiral-validator-manticore-search

spiral-validator-manticore-search

Manticore Search full-text query syntax checker for spiral/validator.

Validates the structure of a Manticore full-text query (extended query syntax) before it is stored or executed. Useful when a query is typed in by hand — by an administrator, a content editor, an API client — and executed later: a broken expression is rejected with a validation error on input instead of throwing a query error somewhere deep in the request that runs it.

The checker is a small hand-written lexer plus a recursive-descent parser. It needs no connection to a Manticore instance and performs no queries.

Requirements

Installation

Registration

Add the checker to the checkers section of app/config/validator.php:

Or register it from a bootloader:

Usage

The checker exposes a single rule — manticore::query. Its optional argument is the list of full-text fields the @ operator is allowed to reference:

Without the field list only the syntax of @ is checked, not the field names:

The rule is deliberately narrow: an empty string and non-string values are passed through, so combine it with notEmpty / string::* when those matter. The error message key is query, the default message is [[Invalid search query syntax.]].

The checker can also be used on its own, outside of the validator:

What is validated

Structure only, never meaning:

The reference implementation is Manticore's own parser: whatever the checker accepts, the daemon must be able to parse without an error. The rules were calibrated by running a corpus of queries through SELECT ... WHERE MATCH(?) against manticore 28.4.4; that corpus is the test suite.

In a few corner cases the checker is stricter than Manticore, where the daemon tolerates input that cannot match anything: an empty group (), a lone @, @field[abc], a dangling \ at the end of the string, a negation whose operand is a term made of separators only (a -.). Each of those is a plain typo, and a validation error is more useful than an empty result set. See provideStricterThanManticore() in the test suite for the full list.

What the checker does not do: it does not check that terms exist in the index, does not evaluate the query, and does not touch non-full-text parts of a SELECT (attribute filters, ORDER BY, OPTION) — it only looks at what goes inside MATCH().

Testing

Links

License

MIT. See LICENSE.


All versions of spiral-validator-manticore-search with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
spiral/validator Version ^1.7
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 gam6itko/spiral-validator-manticore-search contains the following files

Loading the files please wait ...