#1205: Several method existence checks don't deal with visibility
-------------------------------------------------------+--------------------
Reporter: michalchare...@… | Owner: david
Type: defect | Status: reopened
Priority: low | Milestone: 1.0.2
Component: _OTHER_ | Version: 1.0.1
Severity: minor | Resolution:
Keywords: view filter action model context renderer | Has_patch: 0
-------------------------------------------------------+--------------------
Changes (by david):
* status: closed => reopened
* resolution: fixed =>
Old description:
> If the methods in question are non-public, then calls will fail, because
> the function {{{method_exists()}}} that's used to see if a respective
> method is there (e.g. on Actions and Views for request methods and output
> types) doesn't take the visibility into account.
>
> Affected are checks for:
> * {{{AgaviAction::execute}}}''{{{Method}}}''{{{()}}} (in
> {{{AgaviExecutionContainer}}})
> * {{{AgaviAction::execute()}}} (in {{{AgaviExecutionContainer}}})
> * {{{AgaviAction::validate}}}''{{{Method}}}''{{{()}}} (in
> {{{AgaviExecutionContainer}}})
> * {{{AgaviAction::registerValidators}}}''{{{Method}}}''{{{()}}} (in
> {{{AgaviExecutionContainer}}})
> * {{{AgaviView::execute}}}''{{{OutputType}}}''{{{()}}} (in
> {{{AgaviExecutionContainer}}})
> * {{{AgaviModel::initialize()}}} (in {{{AgaviContext}}})
> * {{{AgaviContext::get}}}''{{{Item}}}''{{{()}}} (in {{{AgaviRenderer}}})
> As well as testing constraints:
> * {{{AgaviConstraintViewHandlesOutputType}}}
> * {{{AgaviConstraintActionHandlesMethod}}}
New description:
If the methods in question are non-public, then calls will fail, because
the function {{{method_exists()}}} that's used to see if a respective
method is there (e.g. on Actions and Views for request methods and output
types) doesn't take the visibility into account.
Affected are checks for:
* {{{AgaviAction::execute}}}''{{{Method}}}''{{{()}}} (in
{{{AgaviExecutionContainer}}})
* {{{AgaviAction::execute()}}} (in {{{AgaviExecutionContainer}}})
* {{{AgaviAction::validate}}}''{{{Method}}}''{{{()}}} (in
{{{AgaviExecutionContainer}}})
* {{{AgaviAction::registerValidators}}}''{{{Method}}}''{{{()}}} (in
{{{AgaviExecutionContainer}}})
* {{{AgaviView::execute}}}''{{{OutputType}}}''{{{()}}} (in
{{{AgaviExecutionFilter}}})
* {{{AgaviModel::initialize()}}} (in {{{AgaviContext}}})
* {{{AgaviContext::get}}}''{{{Item}}}''{{{()}}} (in {{{AgaviRenderer}}})
As well as testing constraints:
* {{{AgaviConstraintViewHandlesOutputType}}}
* {{{AgaviConstraintActionHandlesMethod}}}
--
--
Ticket URL: <http://trac.agavi.org/ticket/1205#comment:5>
Agavi <http://www.agavi.org/>
An MVC Framework for PHP5
_______________________________________________
Agavi Tickets Mailing List
[email protected]
http://lists.agavi.org/mailman/listinfo/tickets