merged branch vicb/dic/scopeexc (PR #6846)
This PR was squashed before being merged into the master branch (closes #6846).
Commits
-------
9024c07
[2.3] [DI] Improve the generated PHPDoc of the dumped PHP container
Discussion
----------
[2.3] [DI] Improve the generated PHPDoc of the dumped PHP container
By adding "@throws InactiveScopeException" where applicable
---------------------------------------------------------------------------
by vicb at 2013-01-23T11:51:11Z
thanks @stof
> Native types should be lowercase
Never say that to @fabpot :)
---------------------------------------------------------------------------
by stof at 2013-01-23T12:10:56Z
@vicb he has an exception for ``Boolean`` (and explained why) but the reason cannot be applied to ``object``
---------------------------------------------------------------------------
by vicb at 2013-01-23T13:01:55Z
@stof all "Object"s should be covered now. Yeah I know he has such a mannerism !
---------------------------------------------------------------------------
by stof at 2013-01-23T19:01:07Z
@vicb none of the dumping tests modified ? this looks weird
---------------------------------------------------------------------------
by stof at 2013-01-23T19:06:06Z
hmm, travis is indeed agreeing with me...
---------------------------------------------------------------------------
by vicb at 2013-01-23T20:07:16Z
I'll fix that tomorrow
---------------------------------------------------------------------------
by vicb at 2013-01-24T08:37:55Z
travis I hope you like it !
This commit is contained in:
commit
6b6ccbbe24
@ -441,19 +441,30 @@ class PhpDumper extends Dumper
|
|||||||
$this->referenceVariables = array();
|
$this->referenceVariables = array();
|
||||||
$this->variableCount = 0;
|
$this->variableCount = 0;
|
||||||
|
|
||||||
$return = '';
|
$return = array();
|
||||||
|
|
||||||
if ($definition->isSynthetic()) {
|
if ($definition->isSynthetic()) {
|
||||||
$return = sprintf('@throws RuntimeException always since this service is expected to be injected dynamically');
|
$return[] = '@throws RuntimeException always since this service is expected to be injected dynamically';
|
||||||
} elseif ($class = $definition->getClass()) {
|
} elseif ($class = $definition->getClass()) {
|
||||||
$return = sprintf("@return %s A %s instance.", 0 === strpos($class, '%') ? 'Object' : $class, $class);
|
$return[] = sprintf("@return %s A %s instance.", 0 === strpos($class, '%') ? 'object' : $class, $class);
|
||||||
} elseif ($definition->getFactoryClass()) {
|
} elseif ($definition->getFactoryClass()) {
|
||||||
$return = sprintf('@return Object An instance returned by %s::%s().', $definition->getFactoryClass(), $definition->getFactoryMethod());
|
$return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryClass(), $definition->getFactoryMethod());
|
||||||
} elseif ($definition->getFactoryService()) {
|
} elseif ($definition->getFactoryService()) {
|
||||||
$return = sprintf('@return Object An instance returned by %s::%s().', $definition->getFactoryService(), $definition->getFactoryMethod());
|
$return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryService(), $definition->getFactoryMethod());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$scope = $definition->getScope();
|
||||||
|
if (!in_array($scope, array(ContainerInterface::SCOPE_CONTAINER, ContainerInterface::SCOPE_PROTOTYPE))) {
|
||||||
|
if ($return && 0 === strpos($return[count($return) - 1], '@return')) {
|
||||||
|
$return[] = '';
|
||||||
|
}
|
||||||
|
$return[] = sprintf("@throws InactiveScopeException when the '%s' service is requested while the '%s' scope is not active", $id, $scope);
|
||||||
|
}
|
||||||
|
|
||||||
|
$return = implode("\n * ", $return);
|
||||||
|
|
||||||
$doc = '';
|
$doc = '';
|
||||||
if (ContainerInterface::SCOPE_PROTOTYPE !== $definition->getScope()) {
|
if (ContainerInterface::SCOPE_PROTOTYPE !== $scope) {
|
||||||
$doc .= <<<EOF
|
$doc .= <<<EOF
|
||||||
|
|
||||||
*
|
*
|
||||||
@ -484,8 +495,7 @@ EOF;
|
|||||||
|
|
||||||
EOF;
|
EOF;
|
||||||
|
|
||||||
$scope = $definition->getScope();
|
if (!in_array($scope, array(ContainerInterface::SCOPE_CONTAINER, ContainerInterface::SCOPE_PROTOTYPE))) {
|
||||||
if (ContainerInterface::SCOPE_CONTAINER !== $scope && ContainerInterface::SCOPE_PROTOTYPE !== $scope) {
|
|
||||||
$code .= <<<EOF
|
$code .= <<<EOF
|
||||||
if (!isset(\$this->scopedServices['$scope'])) {
|
if (!isset(\$this->scopedServices['$scope'])) {
|
||||||
throw new InactiveScopeException('$id', '$scope');
|
throw new InactiveScopeException('$id', '$scope');
|
||||||
|
@ -102,7 +102,7 @@ class ProjectServiceContainer extends Container
|
|||||||
* This service is shared.
|
* This service is shared.
|
||||||
* This method always returns the same instance of the service.
|
* This method always returns the same instance of the service.
|
||||||
*
|
*
|
||||||
* @return Object A %baz_class% instance.
|
* @return object A %baz_class% instance.
|
||||||
*/
|
*/
|
||||||
protected function getFoo_BazService()
|
protected function getFoo_BazService()
|
||||||
{
|
{
|
||||||
@ -116,7 +116,7 @@ class ProjectServiceContainer extends Container
|
|||||||
/**
|
/**
|
||||||
* Gets the 'foo_bar' service.
|
* Gets the 'foo_bar' service.
|
||||||
*
|
*
|
||||||
* @return Object A %foo_class% instance.
|
* @return object A %foo_class% instance.
|
||||||
*/
|
*/
|
||||||
protected function getFooBarService()
|
protected function getFooBarService()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user