PHP code example of buonaparte / bnp-service-definition
1. Go to this page and download the library: Download buonaparte/bnp-service-definition library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
buonaparte / bnp-service-definition example snippets
/**
* Generated by BnpServiceDefinition\Service\Generator (at 10:40 25-08-2014)
*/
class BnpGeneratedAbstractFactory_a81f0487f49ba10e22972a55497525bc implements \Zend\ServiceManager\AbstractFactoryInterface, \Zend\ServiceManager\ServiceLocatorAwareInterface
{
/**
* @var \Zend\ServiceManager\ServiceLocatorInterface
*/
protected $services = null;
/**
* @var string
*/
protected $scopeLocatorName = null;
/**
* Constructor
*
* @param string $scopeLocatorName
*/
public function __construct($scopeLocatorName = null)
{
$this->scopeLocatorName = $scopeLocatorName;
}
/**
* Determine if we can create a service with name
*
* @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
* @param string $name
* @param string $requestedName
* @return bool
*/
public function canCreateServiceWithName(\Zend\ServiceManager\ServiceLocatorInterface $serviceLocator, $name, $requestedName)
{
return in_array($requestedName, array('MovieLister', 'MovieFinder', 'MoviesTable', 'MoviesResultSet'));
}
/**
* Create service with name
*
* @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
* @param string $name
* @param string $requestedName
* @return mixed
*/
public function createServiceWithName(\Zend\ServiceManager\ServiceLocatorInterface $serviceLocator, $name, $requestedName)
{
switch ($requestedName) {
case 'MovieLister':
return $this->getMovieLister('MovieLister');
case 'MovieFinder':
return $this->getMovieFinder('MovieFinder');
case 'MoviesTable':
return $this->getMoviesTable('MoviesTable');
case 'MoviesResultSet':
return $this->getMoviesResultSet('MoviesResultSet');
}
return null;
}
/**
* Set service locator
*
* @param Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
*/
public function setServiceLocator(\Zend\ServiceManager\ServiceLocatorInterface $serviceLocator)
{
$this->services = $serviceLocator;
}
/**
* Get service locator
*
* @return \Zend\ServiceManager\ServiceLocatorInterface
*/
public function getServiceLocator()
{
return $this->services;
}
/**
* Returns the service registered under "MovieLister" definition
*
* @param string $definitionName
* @return object
* @throws \BnpServiceDefinition\Exception\RuntimeException If an error occurs
* during instantiation
*/
protected function getMovieLister($definitionName)
{
set_error_handler(
function ($level, $message) use ($definitionName) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'A %d level error occurred (message: "%s") while creating %s service from compiled Abstract Factory',
$level,
$message,
$definitionName
));
}
);
$serviceClassName = "MyApp\\Service\\MovieLister";
if (! is_string($serviceClassName)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'%s definition class was not resolved to a string',
$definitionName
));
}
if (! class_exists($serviceClassName, true)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'%s definition resolved to the class %s, which does no exit',
$definitionName,
$serviceClassName
));
}
$serviceReflection = new \ReflectionClass($serviceClassName);
$service = $serviceReflection->newInstanceArgs(array($this->services->get('BnpServiceDefinition\Dsl\Extension\ServiceFunctionProvider')->getService("MovieFinder", false, null)));
$serviceMethod = "setListingBehaviour";
if (! is_string($serviceMethod)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'A method call can only be a string, %s provided, as %d method call for the %s service definition',
gettype($serviceMethod),
0,
$definitionName
));
} elseif (! method_exists($service, $serviceMethod)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'Requested method "%s::%s" (index %d) does not exists or is not visible for %s service definition',
get_class($service),
$serviceMethod,
0,
$definitionName
));
}
call_user_func_array(
array($service, $serviceMethod),
array("default")
);
restore_error_handler();
return $service;
}
/**
* Returns the service registered under "MovieFinder" definition
*
* @param string $definitionName
* @return object
* @throws \BnpServiceDefinition\Exception\RuntimeException If an error occurs
* during instantiation
*/
protected function getMovieFinder($definitionName)
{
set_error_handler(
function ($level, $message) use ($definitionName) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'A %d level error occurred (message: "%s") while creating %s service from compiled Abstract Factory',
$level,
$message,
$definitionName
));
}
);
$serviceClassName = "MyApp\\Service\\MovieFinder";
if (! is_string($serviceClassName)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'%s definition class was not resolved to a string',
$definitionName
));
}
if (! class_exists($serviceClassName, true)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'%s definition resolved to the class %s, which does no exit',
$definitionName,
$serviceClassName
));
}
$serviceReflection = new \ReflectionClass($serviceClassName);
$service = $serviceReflection->newInstanceArgs(array($this->services->get('BnpServiceDefinition\Dsl\Extension\ServiceFunctionProvider')->getService("MoviesTable", false, null)));
restore_error_handler();
return $service;
}
/**
* Returns the service registered under "MoviesTable" definition
*
* @param string $definitionName
* @return object
* @throws \BnpServiceDefinition\Exception\RuntimeException If an error occurs
* during instantiation
*/
protected function getMoviesTable($definitionName)
{
set_error_handler(
function ($level, $message) use ($definitionName) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'A %d level error occurred (message: "%s") while creating %s service from compiled Abstract Factory',
$level,
$message,
$definitionName
));
}
);
$serviceClassName = "Zend\\Db\\TableGateway\\TableGateway";
if (! is_string($serviceClassName)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'%s definition class was not resolved to a string',
$definitionName
));
}
if (! class_exists($serviceClassName, true)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'%s definition resolved to the class %s, which does no exit',
$definitionName,
$serviceClassName
));
}
$serviceReflection = new \ReflectionClass($serviceClassName);
$service = $serviceReflection->newInstanceArgs(array("movies", $this->services->get('BnpServiceDefinition\Dsl\Extension\ServiceFunctionProvider')->getService("Zend\\Db\\Adapter", false, null), null, $this->services->get('BnpServiceDefinition\Dsl\Extension\ServiceFunctionProvider')->getService("MoviesResultSet", false, null)));
restore_error_handler();
return $service;
}
/**
* Returns the service registered under "MoviesResultSet" definition
*
* @param string $definitionName
* @return object
* @throws \BnpServiceDefinition\Exception\RuntimeException If an error occurs
* during instantiation
*/
protected function getMoviesResultSet($definitionName)
{
set_error_handler(
function ($level, $message) use ($definitionName) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'A %d level error occurred (message: "%s") while creating %s service from compiled Abstract Factory',
$level,
$message,
$definitionName
));
}
);
$serviceClassName = "Zend\\Db\\ResultSet\\HydratingResultSet";
if (! is_string($serviceClassName)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'%s definition class was not resolved to a string',
$definitionName
));
}
if (! class_exists($serviceClassName, true)) {
throw new \BnpServiceDefinition\Exception\RuntimeException(sprintf(
'%s definition resolved to the class %s, which does no exit',
$definitionName,
$serviceClassName
));
}
$serviceReflection = new \ReflectionClass($serviceClassName);
$service = $serviceReflection->newInstanceArgs(array($this->services->get('BnpServiceDefinition\Dsl\Extension\ServiceFunctionProvider')->getService("ClassMethodsHydrator", false, null), $this->services->get('BnpServiceDefinition\Dsl\Extension\ServiceFunctionProvider')->getService("MovieEntityPrototype", false, null)));
restore_error_handler();
return $service;
}
}