Download the PHP package longitude-one/doctrine-spatial without Composer

On this page you can find all versions of the php package longitude-one/doctrine-spatial. 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 doctrine-spatial

Doctrine Spatial

Doctrine Spatial is a Doctrine ORM and DBAL extension for working with spatial data in PHP applications.

It provides support for spatial types and functions across multiple database engines, while keeping the integration close to Doctrine’s native entity and query model.

Why use it?

Current status

Project repository badge for longitude-one/doctrine-spatial Badge indicating stable release version available Badge indicating minimum supported PHP version required Badge showing project license on Packagist

Badge showing GitHub Actions full test workflow status Badge showing code coverage status from Codecov Badge showing documentation build status on ReadTheDocs

Badge showing last month package downloads on Packagist Badge showing project star count on Packagist

ko-fi

Documentation

The documentation covers installation, configuration, entity mapping, spatial queries, and contribution guidelines.

It also includes a glossary for the main spatial types and functions supported by the library.

Examples

[!NOTE] The Doctrine-Spatial demo is a complete web application built with Symfony, Doctrine, and Doctrine-Spatial. It illustrates a concrete use case for spatial queries: are our superheroes really in Gotham City?

Roadmap

[!NOTE] A major release may increase the minimum supported PHP version. Other breaking changes are documented in the changelog.

Version PHP compatibility Tested on Doctrine ORM Tested against Doctrine ORM Released Active support Security fixes
5 8.1 - 8.2 - 8.3 - 8.4 - 8.5 From 8.1 to 8.3 ^2.1 - ^3.0 - ^4.0.x-dev ^2.1 - ^3.0 - ^4.0.x-dev 04 May 2024 31 August 2026 31 December 2026
6 8.4 - 8.5 8.4 - 8.5 ^3.6 - ^4.0.x-dev ^3.6 - ^4.0.x-dev September 2026 31 December 2027 31 December 2028
7 8.4 - 8.5 8.4 - 8.5 ^3.6 - ^4.0.x-dev ^3.6 - ^4.0.x-dev Unknown Unknown Unknown
8 8.5 8.5 ^3.6 - ^4.0.x-dev January 2028 31 December 2028 31 December 2029

[!NOTE] Why does PHP support jump between versions 5 and 6?

PHP 8.4 introduces lazy objects. Designed especially for Doctrine-created objects, this feature removes the need for proxies and dedicated proxy namespaces. This is a major change that improves performance. Maintaining a library that supports both approaches complicates development and maintenance. Version 5 of Doctrine Spatial provides a smooth transition: it is compatible with PHP 8.1 through 8.5 and with Doctrine ORM versions 2, 3, and even 4. You are encouraged to upgrade to PHP 8.4 and Doctrine ORM 3.6, which introduces lazy objects, before upgrading to Doctrine Spatial version 6. Version 6 contains no breaking changes other than higher minimum supported versions of PHP and Doctrine ORM.

Version 7 is planned as an intermediate release between versions 6 and 8, with the following new features:

The release date will depend on the availability of contributors and on my ability to fund subscriptions to AI development tools. Donations of coffee through Ko-fi will go either towards actual coffee or towards AI subscriptions.

Release

Status Doctrine Spatial PHP Doctrine ORM
Old-Stable (security fixes) 5.0 8.1+ ^2.9, ^3.1
Stable (bug and security fix) 6.0 8.4+ ^3.6, ^4.x-dev
Next major version 7.0 8.4+ ^3.6, ^4.x-dev
Planned for 1 January 2028 8.0 8.5+ ^3.6, ^4.x-dev

Database testing

The CI workflow tests the current development branch against the following database server versions.

Test job PHP MySQL MariaDB PostgreSQL PostGIS SQL Server
Minimum database versions 8.4 8.4. 10.11 15 3.5 2022.
Maximum database versions 8.5 9.6 12.3. 18 3.6 2025

These versions may change as the CI test matrix evolves.

Known limitations

longitude-one/doctrine-spatial cannot currently persist SRIDs in MySQL or SQL Server. Internally, the extension uses Well-Known Text (WKT) to translate values to and from the database, but Doctrine’s persistence layer cannot pass a WKT value and an SRID together. Extended Well-Known Text (EWKT) addresses this limitation in PostGIS, but other database engines do not support it.

You can work around this limitation by using the ST_SetSRID and ST_SRID spatial functions when needed. This allows SRIDs to be handled at the query level, even though they are not stored directly with the value.

Contributing

Contributions, bug reports, and documentation improvements are welcome. Please refer to the documentation for the development workflow and test commands.

Branch strategy

The repository follows a structured release model:


All versions of doctrine-spatial with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
ext-mbstring Version *
longitude-one/geo-parser Version ^4.0.0
longitude-one/wkt-parser Version ^3.0.1
longitude-one/wkb-parser Version ^3.0.1
doctrine/orm Version ^3.6
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 longitude-one/doctrine-spatial contains the following files

Loading the files please wait ...