Download the PHP package ulrack/services without Composer

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

DEPRECATION NOTICE: this package has been moved and improved at grizz-it/services

Build Status

Ulrack Services

This package contains a services implementation. These services can be configured for a project to create a configured depency injection layer. The services are ran through a compiler to create workable data for the factories. The factories are used to retrieve assembled objects for the project. Both the compiler and factory can be extended by creating compiler extensions and factory extensions. On top of that, existing compilers and factories can be extended and altered with hooks.

Installation

To install the package run the following command:

Usage

Registry

To start, the ServiceRegistry needs to be created. The ServiceRegistry is the object on which all service definitions are registered, before they are compiled. To create the ServiceRegistry use the following snippet:

The service definitions can then be registered with the add method. See the files in configuration/schema to see everything that can be registered out of the box.

Compiler

Then to create the compiler use the following snippet:

Compiler extensions

The compiler is used to reformat all defined code to operate faster in the factories later on. In order to add logic to the compiler, extensions need to be added. To support services, the ServicesCompiler can be used. Extensions are required to implement the AbstractServiceCompilerExtension.

If the services are already in an optimal state, the PassThroughCompiler can also be chosen.

To add the ServicesCompiler, use the following snippet:

Compiler hooks

To add a hook to the compiler the following snippet can be used:

The hooks are required to implement the AbstractServiceCompilerHook.

Creating the factory

Once everything is configured for the compiler, the factory can be created in a similar way.

Factory extensions

Factory extensions must implement the AbstractServiceFactoryExtension. To add the services factory use the following snippet:

Factory hooks

Adding a factory hook is similar to factory extension. It must implement the AbstractServiceFactoryHook. Then to add the hook, use the following snippet:

Using the factory

After everything is configured the factory can be used to create an instance of the declared service, or retrieve a certain configured value. To do so invoke the create method with the reference to the service declaration.

This will return whatever is registered on foo.

Example

To see a full example, see the example directory. Run the following commands in the root directory to be able to execute the example:

Change log

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CODE_OF_CONDUCT for details.

MIT License

Copyright (c) GrizzIT

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


All versions of services with dependencies

PHP Build Version
Package Version
Requires php Version ^7.3
grizz-it/configuration Version ^1.0
grizz-it/object-factory Version ^1.1
grizz-it/storage Version ^1.0
grizz-it/validator Version ^1.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 ulrack/services contains the following files

Loading the files please wait ....