[TYPO3-dev] Refactoring typo3/init.php
Francois Suter
fsuter at cobweb.ch
Sat Mar 7 11:17:50 CET 2009
Hi all,
Ever since I tried to pass remote calls through the TYPO3 BE I pondered
a revision of the typo3/init.php script which has grown - over time - to
be quite unwieldy IMO. This script is called:
- when using the TYPO3 BE normally
- during a BE AJAX call
- during a command-line call
- by the Install Tool
The various requisites and peculiarities of those different uses are
handled by setting a number of constants (TYPO3_enterInstallScript,
TYPO3_cliMode, TYPO3_PROCEED_IF_NO_USER and such) and testing them
throughout the script's execution. This makes it very difficult to:
1) have an overview of what's going on
2) more importantly, add a new context of execution
What I would propose is a refactoring of this script. The main aim would
be to divide it into small dedicated chunks that would each be
identified by some key (like client_check, user_login, etc.). Then each
script referring to typo3/init.php (typo3/index.php, typo3/ajax.php,
typo3/cli_dispatch.phpsh, typo3/install/index.php) would list the chunks
that it needs, making it easy to create new "contexts" for including
typo3/init.php (going back to my example of remote calls, you don't need
to check the client in this case).
In the special case of the Install Tool, I would go so far as to suggest
duplicating whatever code is necessary in some dedicated file (say
typo3/install/init.php or directly into typo3/install/index.php) so that
it can execute really independently of the TYPO3 BE.
What do you think?
Cheers
--
Francois Suter
Cobweb Development Sarl - http://www.cobweb.ch
More information about the TYPO3-dev
mailing list