Download the PHP package ujamii/openimmo without Composer

On this page you can find all versions of the php package ujamii/openimmo. 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 openimmo

OpenImmo PHP library

Packagist Minimum PHP Version Continuous Integration codecov Mutation testing badge

OpenImmo and the OpenImmo logo are registered trademarks of the OpenImmo e.V. Neither is this package an official distribution nor am I associated with this organisation!

This library just wraps the OpenImmo XML format with some PHP8 classes. If you need support for PHP <= 8.1, see version 1.x of this package. Version 2 is for PHP >=8.2 only.

There is an official library available at http://www.openimmo.de/go.php/p/22/support20.htm which costs 95 EUR excl. VAT and is "compatible with PHP5 and tested with PHP 8.1" (end quote). To completely convince you, you will only be allowed to see the code after you have paid and they have a no-refund policy.

Important note

I don't want to include real world xml examples into this distribution package due possible license and privacy issues. Thus, some tests are automatically skipped, if the xml files are not found in the examples directory! The "Open" in OpenImmo has nothing to do with Open Source (I was told ;-)

TODOs

Installation

Integrations

If you like to use this API as base for an integration into a CMS or Framework, feel free to contact me, I will link it here.

Usage

Writing OpenImmo XML

will produce

Nested elements are created just as easy. Classes, properties, constants and parameters are named as corresponding items in the xsd file. They are just converted to camelCase to comply with PHP standards.

will generate

Reading OpenImmo XML

Reading data from xml into a easy-to-use object structure is also pretty straightforward. This example will generate a list of objects (addresses).

Writing JSON (since v0.10)

Although the OpenImmo standard just describes an XML version, there may be cases when you want to generate JSON from the given data. Sadly, there is an issue with custom types, scalar values and JSON serialization in the JMS serializer. However, it is still possible to write JSON format with the Symfony serializer component.

Generating JSON then works like this:

Possible issues

DateTime format not working

Some tools may generate DateTime values in the xml, which cause errors like

This can be caused by a different precision for the microsecond part (1242974) of this value. As the default PHP precision may be lower that the one of the tool, which the xml was generated with. If this problem occurs with the data you use, you can add a handler, included in this package, to the serializer like this:

Update API classes with a new OpenImmo version

  1. Install composer package.
  2. Download OpenImmo files from their website (extract into the example folder). Their license agreement denies redistribution of the xsd file.
  3. php -f generate-api.php will fill the src/API directory with new classes.
  4. composer dumpautoload to update the autoloading.
  5. Done.

Running tests

  1. composer run phpunit

License and Contribution

GPLv3

As this is OpenSource, you are very welcome to contribute by reporting bugs, improve the code, write tests or whatever you are able to do to improve the project.

If you want to do me a favour, buy me something from my Amazon wishlist.

Thank you!


All versions of openimmo with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-dom Version *
ext-simplexml Version *
jms/serializer Version ^2.1 || ^3.5
doctrine/annotations Version ^2.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 ujamii/openimmo contains the following files

Loading the files please wait ....