Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDC-1197: Proxies should handle variable argument lists #1802

Closed
doctrinebot opened this issue Jun 5, 2011 · 3 comments
Closed

DDC-1197: Proxies should handle variable argument lists #1802

doctrinebot opened this issue Jun 5, 2011 · 3 comments
Assignees

Comments

@doctrinebot
Copy link

Jira issue originally created by user @beberlei:

This is a contingency issue for #60

"Fix to allow for proxy generated classes to respect methods in parent which may use func_get_args internally. Previously they would be passed nothing and thus fail. Also reduces need to build up argumentString. "

@doctrinebot
Copy link
Author

Comment created by chrisrichard:

Could we use an annotation to indicate when a function uses variable arguments and output call_user_func_array only in that case?

@doctrinebot
Copy link
Author

Comment created by @Ocramius:

I won't fix this. There are some problems here that are not trivial:

1 - to make proxies always "safe", we would need to use func*get*args in every proxy call
2 - because of (1), performance will GREATLY degrade
3 - because of (1), byref parameter passing will be broken

What we could do is introspecting the contents of methods to look for func*get*args usages (requires introduction of a complex parser).

I am closing this - consider opening an issue at https://github.com/Ocramius/ProxyManager/issues instead, so we can analyze if this logic can be improved for 3.x with the replacement of the "simple" doctrine proxies with something more complete.

Also note that Ocramius/ProxyManager#159 could also solve this without the need for complex logic.

@doctrinebot
Copy link
Author

Issue was closed with resolution "Can't Fix"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants