Download the PHP package chippyash/slim-symfony-dic without Composer

On this page you can find all versions of the php package chippyash/slim-symfony-dic. 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 slim-symfony-dic

chippyash/Slim-Symfony-Dic

Quality Assurance

PHP 5.6 PHP 7.1 Build Status Code Climate Test Coverage

The above badges represent the current development branch. As a rule, I don't push to GitHub unless tests, coverage and usability are acceptable. This may not be true for short periods of time; on holiday, need code for some other downstream project etc. If you need stable code, use a tagged version. Read 'Installation'.

See the tests and the Test Contract for additional information.

Please note that developer support for PHP5.5 was withdrawn at version 3.0.0 of this library. If you need support for PHP 5.5, please use a version >=2,<3

What?

Provides a Symfony Dependency Injection Container V2 or Symfony Dependency Injection Container V4 for a Slim Application V3. The DI container depends on the version of PHP you are using. < 7, then V2, >=7.1 then V4

Why?

The Slim framework is great for lightweight sites and in version V3 adopts the interop interfaces for dependency injection containers. Slim V3 uses the Pimple DI by default. Symfony DI does not yet support the interop interface definition.

This small library supports the integration of the easy to use, yet powerful Symfony version of a DI container with the lightweight Slim Framework, giving you the ability to create great, maintainable and configurable web sites quickly.

The Builder supports XML DI definition. XML is the most powerful and complete form of Symfony DI configuration. The Builder also supports Yaml DI definition. Many developers prefer to put the parameters into a Yaml file and service definitions into an XML file. The supplied minimal example files demonstrate this usage.

How?

To create and return a Slim\App object with a Symfony DIC:

use Chippyash\Type\String\StringType;
use Slimdic\Dic\Builder;
use Slim\App;

$xmlDiFileLocation = '/mysite/cfg/dic.production.xml';

/**
 * @var Slim\App
 */
$app = new App(Builder::buildDic(new StringType($xmlDiFileLocation)));

Please see the examples/dic.slim.v2.xml, examples/dic.slim.v3.xml and examples/dic.slim.yml files for the minimum that you need to build the DIC with to support Slim. You are recommended to put the files in with the rest of your DI configs and use the <imports> directive in your main config to pull it in.

You can add to the compilation process by utilising the pre and post compile functions. This is often useful for setting up synthetic services or initialising parameters in the DI container.

Register a PreCompile function

The PreCompile function is called just before the container is compiled.

use Slimdic\Dic\ServiceContainer;
use Symfony\Component\DependencyInjection\Definition;

Builder::registerPreCompileFunction(function($dic) {
    //set a parameter
    $dic->setParameter('foo', 'bar');
    //set up a synthetic
    $dic->setDefinition('bar', (new Definition())->setSynthetic(true));
});

$app = new App(Builder::buildDic(new StringType($xmlDiFileLocation)));

Register a PostCompile function

The PostCompile function is called just after compiling the container.

The post compile function only really makes sense to set a synthetic definition as after compilation the rest of the DI Container is frozen and cannot be changed.

use Slimdic\Dic\ServiceContainer;

Builder::registerPreCompileFunction(function($dic) {
    $dic->setDefinition('foo', (new Definition())->setSynthetic(true));
});

Builder::registerPostCompileFunction(function($dic, $stage) {
    $dic->set('foo', $myFooService);
});

Changing the library

  1. fork it
  2. write the test
  3. amend it
  4. do a pull request

Found a bug you can't figure out?

  1. fork it
  2. write the test
  3. do a pull request

or raise an issue ticket

NB. Make sure you rebase to HEAD before your pull request

Where?

The library is hosted at Github. It is available at Packagist.org

Check out ZF4 Packages for more packages

See My blog for ramblings on coding and curries

Installation

Install Composer

For production

    "chippyash/slim-symfony-dic": ">=3,<4"

to your composer.json "requires" section

For development

Clone this repo, and then run Composer in local repo root to pull in dependencies

    git clone [email protected]:chippyash/Slim-Symfony-Dic.git Slimdic
    cd Slimdic
    composer install --dev

To run the tests:

    cd Slimdic
    vendor/bin/phpunit -c test/phpunit.xml test/

License

This software library is released under the BSD 3 Clause license

This software library is Copyright (c) 2016-2018, Ashley Kitson, UK

History

V1.0.0 Initial Release

V1.1.0 Update dependencies

V1.1.1 Add link to packages

V1.1.2 Verify PHP 7 compatibilty

V1.1.3 Update Slim dependency to 3.*

V1.1.4 Update dependencies

V1.1.5 Update build script

V2.0.0 PHP 7.0 support withdrawn, updated to use 7.1, primarily because of underlaying libraries that don't support 7.0

V2.0.2 Fix unit tests to run under PHP 7.1

V3.0.0 BC Break. Withdraw support for PHP <5.6

V3.1.0 Change of license from GPL V3 to BSD 3 Clause

V3.1.1 dependency update


All versions of slim-symfony-dic with dependencies

PHP Build Version
Package Version
Requires php Version ~5.6||~7.1
slim/slim Version >=3,<4
symfony/dependency-injection Version ~2.8.34||~4.0.4
symfony/expression-language Version ~2.8.34||~4.0.4
symfony/config Version ~2.8.34||~4.0.4
symfony/yaml Version ~2.8.34||~4.0.4
chippyash/strong-type Version >=5,<6
chippyash/assembly-builder Version >=2,<3
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 chippyash/slim-symfony-dic contains the following files

Loading the files please wait ....