[TYPO3-english] XClassing again

Tomasz Krawczyk tomkrawc at gmail.com
Fri Mar 29 10:15:10 CET 2013

Hello Kay,

I know the difference between 4.x and 6.x 
(http://forum.typo3.org/index.php/t/194848/). I successively xclassed 
those classes:

$extPath = t3lib_extMgm::extPath('imagickimg');

return array(
	'ux_GraphicalFunctions' => $extPath . 
	'ux_GifBuilder' => $extPath . 'Classes/Xclass/GifBuilder.php',
	'ux_ThumbnailView' => $extPath . 'Classes/Xclass/ThumbnailView.php',
	'ux_LocalPreviewHelper' => $extPath . 
	'ux_ContentObjectRenderer' => $extPath . 
	'ux_ElementInformationController' => $extPath . 

But I have problem with LocalPreviewHelper class. This class is 
instanitated in LocalImageProcessor::getHelperByTaskName by makeInstance 
with "$this" as second parameter.

My ux_LocalPreviewHelper has devLog entries inside but I don't see this 
in the "Developer Log" browser.

I also tried to overload the constructor and invoke parent constructor 
but this leads to an Exception: "#1: PHP Catchable Fatal Error: Argument 
1 passed to ux_LocalPreviewHelper::__construct() must be an instance of 
LocalImageProcessor, instance of 
TYPO3\CMS\Core\Resource\Processing\LocalImageProcessor given in 
line 37 "

This is how beginning of my ux_LocalPreviewHelper looks:

use \TYPO3\CMS\Core\Resource, \TYPO3\CMS\Core\Utility;

class ux_LocalPreviewHelper extends 
\TYPO3\CMS\Core\Resource\Processing\LocalPreviewHelper {

	private $extKey = 'imagickimg';

	public function __construct(LocalImageProcessor $processor) {

	public function process(TaskInterface $task) {
		if (TYPO3_DLOG)

		$targetFile = $task->getTargetFile();

If I comment out the constructor then I see no exceptions but there are 
also no devLog entries and no images too.

I'm checking if my XClasses are loaded in ADMIN TOOLS -> Configuration 
-> $TYPO3_CONF_VARS->SYS->Objects.

Any ideas appreciated.


W dniu 2013-03-29 09:38, Kay Strobach pisze:
> Hello Tomasz,
> there is a different between TYPO3 4.5 and 6.0!
> http://wiki.typo3.org/Xclass
> It's important, that prior 6.0 each class needs the xclass loop. In 6.0
> you may use the autoloading mechanism for xclassing ;)
> Xclassing is only working if you use t3lib_div::makeInstance.
> Xclasses are ignored by "new".
> In the reports module you should find a list of your defined xclasses.
> Ensure a proper ext_autoload file!
> Regards
> Kay
> Am 28.03.13 20:49, schrieb Tomasz Krawczyk:
>>>> is it possible to XClass a class which takes some parameters in its
>>>> constructor?
>>> Most times, yes, but the interface must be equal!

More information about the TYPO3-english mailing list