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

[RTM] Allow to pass objects in callback arrays #699

Merged
merged 2 commits into from
Mar 17, 2017

Conversation

aschempp
Copy link
Member

@aschempp aschempp commented Feb 2, 2017

This simple change should get us closer to actually callables.

You can now use [$this, 'foobar'] for a callback.

Example for current:

$GLOBALS['TL_DCA']['tl_example']['config']['onload_callback'][] = function () {
    $this->onLoad();
};

Example for new:

$GLOBALS['TL_DCA']['tl_example']['config']['onload_callback'][] = [$this, 'onLoad'];

@leofeyer leofeyer added this to the 4.4.0 milestone Feb 2, 2017
@discordier
Copy link
Contributor

This improves the current style, however I advise anyone against using even callables in dca and Contao 4.
The devs should migrate all HOOKs and callbacks already to services for allowing easy migration in the future when we can have a "built container" (sometime in the future) and therefore this will get removed for Contao 5 again.

Therefore I am undecided if we should rather add this feature and discourage usage in the same time.

@aschempp
Copy link
Member Author

aschempp commented Feb 2, 2017 via email

Copy link
Contributor

@discordier discordier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is to support in the Contao core, which is not being migrated to events…

I was not aware of this, would have been nice to know beforehand. Good to merge then.

@leofeyer leofeyer changed the title [RFC] Allow to pass objects in callback arrays [RTM] Allow to pass objects in callback arrays Feb 17, 2017
@leofeyer leofeyer self-assigned this Mar 17, 2017
@leofeyer leofeyer merged commit fa26d67 into contao:develop Mar 17, 2017
agoat pushed a commit to agoat/contao-core-bundle that referenced this pull request Apr 10, 2017
* Make Symfony 3.2 the minimum requirement (see contao#630).

* Set the encryption key from the kernel secret by default (see contao#660).

* Stop using the deprecated QuestionHelper::setInputStream() method.

* Update Dropzone to version 4.

* Prefer the caret operator over the tilde operator in the composer.json file.

* Add the contao.root_dir parameter (see contao#662).

* Update the change log.

* Stop using the contao-components/all meta package.

* Update the README.md file.

* Deprecate the contao:version command (see contao#668).

* Update the installation path.

* Auto-select the active page in the quick navigation/link module (see contao/core#8587).

* Look up the form class and allow to choose the type (see contao/core#8527).

* Add PHP Toolbox support (see contao#565).

* Remove the arrow brackets in the book navigation template (see contao/core#8607).

* Add a bottom padding to the buttons layer.

* Add the contao.web_dir parameter (see contao/installation-bundle#40).

* Fix the tests.

* Match security firewall based on request scope (see contao#677).

* Fix an issue found by Scrutinizer.

* Use the contao.web_dir parameter in the Combiner (see contao#679).

* Fix the tests.

* Add stripRootDir() method to System class (see contao#683).

* Add the contao.image.target_dir parameter (see contao#684).

* The ContaoCoreExtension::overwriteImageTargetDir() is not deprecated.

* Support custom backend routes (see contao#512).

* Use the scope matcher instead of checking the request attribute (see contao#688).

* Replace every occurrence of $contaoFramework with $framework.

* Fix an issue found by Scrutinizer.

* Fix deprecations in unit tests (see contao#687).

* Added a DBAL field type for UUIDs (see contao#415).

* Support importing form field options from a CSV field (see contao#444).

* Fix the coding style and the unit tests.

* Add the Doctrine field type in the config.yml file.

doctrine:
    dbal:
        types:
            binary_string:
                class: "Contao\\CoreBundle\\Doctrine\\DBAL\\Types\\BinaryStringType"
                commented: true

* Add a basic unit test for the BackendCsvImportController class.

* Update the change log.

* Fix rebuilding the search index (see contao#689).

* Also handle „no origin“ and „empty origin“ in the CORS provider.

* Remove an unused use statement.

* Remove the security.yml file and update the README.md file.

* Improve the e-mail extraction in the text element (thanks to Martin Auswöger).

* Rename the Test namespace to Tests.

* Update the composer.json file.

* Update the .php_cs file.

* Raise the minimum PHP version to 5.6 (see contao#701).

* Support using objects in callback arrays (see contao#699).

* Use try-finally blocks to close all output buffers when downloading a file (see contao#714).

* Fix the coding style.

* Only prefix an all numeric alias when standardizing (see contao#707).

* Adjust the test namespaces.

* Allow to manually pass a value to any widget (see contao#674).

* Add a change log entry and fix the tests.

* Disable the picker buttons if the main window does not show a picker.

* Use the file manager instead of the file picker.

* Use the site structure instead of the page picker.

* Always show the selected nodes.

* Add the menu builder.
@aschempp aschempp deleted the hook-object branch November 29, 2017 10:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants