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

Using self closes the possibility of class extension. #79

Open
razvan-tache opened this issue Jan 15, 2018 · 0 comments
Open

Using self closes the possibility of class extension. #79

razvan-tache opened this issue Jan 15, 2018 · 0 comments

Comments

@razvan-tache
Copy link

By having all methods static, and using self, the possibility of extending functionality / replacing small parts disappears.

eg.

If I want to replace the following verifyResponse method to act differently, I can't, as the call will always be called on the self context (in the class used).

$result = self::verifyResponse(OpenPayU_Http::doPost($pathUrl, $data, $authType), 'RefundCreateResponse');

The self keyword can be replaces with the static keyword, which will use the static context of the object.

$result = static::verifyResponse(OpenPayU_Http::doPost($pathUrl, $data, $authType), 'RefundCreateResponse');

In this way, I can create a new class MyRefund which extends the refund functionality, but on verify response does something else.

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

No branches or pull requests

1 participant