Zend Framework

Zend_Tool_Framework_Provider_Repository->_parseName assumes all class providers have _ in their name (patch attached)

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.9.6
  • Fix Version/s: 1.11.0
  • Component/s: Zend_Tool
  • Labels:
    None

Description

$providerName = substr($className, strrpos($className, '_')+1); assumes, that className contains _
If you have your onw Providers this might not be true!

So above should be changed into

if (false !== $pos = strrpos($className, '_')) { $providerName = substr($className, $pos + 1); } else { $providerName = $className; }

Activity

Hide
Janez Novak added a comment -

It seems that the same applies to the:
Zend_Tool_Framework_Provider_Signature->_processName

$name = substr($className, strrpos($className, '_')+1);

should be
if (false !== $pos = strrpos($className, '_')) { $name = substr($className, $pos + 1); } else { $name = $className; }

Show
Janez Novak added a comment - It seems that the same applies to the: Zend_Tool_Framework_Provider_Signature->_processName $name = substr($className, strrpos($className, '_')+1); should be if (false !== $pos = strrpos($className, '_')) { $name = substr($className, $pos + 1); } else { $name = $className; }
Hide
Ralph Schindler added a comment -

Fixed in r23201 in trunk & r23202 in release branch 1.11 (as part of ZF-9397)

Show
Ralph Schindler added a comment - Fixed in r23201 in trunk & r23202 in release branch 1.11 (as part of ZF-9397)

People

Vote (1)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: