[TYPO3-dev] Antw: Re: Compat Layer in LTS 6.2 ?

Britta Kohorst Kohorst at citeq.de
Mon Sep 9 10:59:20 CEST 2013


Hi Christop and Ernesto,

thank you for your answers. That is very reassuring for us, it means we don't have to spend days mending extensions that are in the process of being re-coded all over anyhow.

So, we will remove all include_once statements and let the autoloader do the job.

But what about code parts like the following:

reset($SOBE->include_once);
while(list(,$INC_FILE)=each($SOBE->include_once))	{include_once($INC_FILE);}

I must admit I don't know exactly what that code part does, but it can be found in TYPO3 back end modules (of the old kind) like dam, tt_news, cal or direct_mail - so seems to have been a standard behaviour. Can I delete those lines and will the autoloader do the work?

And one more question: I assume the 'require_once' statements in backend modules must also be deleted for the extension to be runnable with TYPO3 6.2?

Kind regards
britta





>>> Ernesto Baschny <ernesto.baschny at typo3.org> schrieb am Mittwoch, 4. September
2013 um 09:50 in Nachricht
<mailman.1.1378281016.24024.typo3-dev at lists.typo3.org>:
> Britta Kohorst schrieb am 02.09.2013 09:24:
> 
>> we would like to know if we can rely on the information given in the file 
> typo3/sysext/core/Migrations/Code/LegacyClassesForIde.php inside typo3src 
> 6.0.8.? 
>> 
>> It says that functions and classes deprecated since 6.0 will be removed in 
> 7.0 - which would mean that those classes and functions will still be 
> available in LTS 6.2! 
>> 
>> This is of vital importance for us since we have to migrate a lot of 
> extensions  - that will be replaced by extbase- and fluid-based versions in the 
> future - but that will have to run with 6.2 to bridge the gap until the new 
> versions are in a stable production state.
>> 
>> To put it in a nutshell: will we be able to run pibased extensions without 
> namespaces under LTS 6.2 ? Will the compat layer still be in place?
> 
> Yes, all the old classnames and the "old way" of extensions to work
> (pibase, no namespaces etc) will still be working as usual in TYPO3 6.2.
> 
> One difference that might affect your extension is that in 6.2 we
> removed the whole t3lib/ directory which actually contained the old
> class-files. In order to use the "old class names" you simply have to
> remove all "require_once" in your extension code and let the autoloader
> resolve the names for you.
> 
> The file you are mentioning (LegacyClassForIde) are just there for the
> sake of IDE's like PhpStorm and Eclipse to understand the old class
> names and be able to autocomplete method names etc.
> 
> At PHP execution time the compatibility is done through so called "Class
> Aliases", which are set up in files like these:
> 
> typo3/sysext/<extname>/Migrations/Code/ClassAliasMap.php
> 
> We have an initiative working on an extension that will check your
> current environment and report you stuff that you need to do while
> migrating from 4.5 to 6.2:
> 
> https://github.com/nxpthx/typo3-upgradereport  (EXT:smoothmigration)
> 
> This is still a work in progress, but one of the thing it checks is
> exactly extensions that are using "require_once's" that need to be removed.
> 
> Kind regards,
> Ernesto




More information about the TYPO3-dev mailing list