title: Issue with extending class in TYPO3
body: <p>I saw some extension files which are in TYPO3 4.5. (<code>class.tx_ajaxsearch_pi1.php</code>...), looks like this way:</p>
  <pre><code>class tx_ajaxsearch_pi1 extends tslib_pibase {
  ...
  if (defined('TYPO3_MODE') &amp;&amp; $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ajax_search/pi1/class.tx_ajaxsearch_pi1.php']) {
      include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ajax_search/pi1/class.tx_ajaxsearch_pi1.php']);
  }
  </code></pre>
  <p>I am checking this document about <code>XCLASS</code>: <a href="http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/3/8/" rel="nofollow noreferrer">http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/3/8/</a></p>
  <p>Questions:</p>
  <ol>
  <li><p>According to this document: <a href="http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/3/8/" rel="nofollow noreferrer">http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/3/8/</a></p>
  <p>Extending TYPO3s PHP classes is recommended mostly for special needs in individual projects. This is due to the limitation that a class can only be extended once. Thus, if many extensions try to extend the same class, only one of them will succeed and in turn the others will not function correctly.</p>
  </li>
  </ol>
  <p>But why class <code>tslib_pibase</code> can be extended many times by different extension classes?</p>
  <ol start="2">
  <li>Is it a good habit to put below codes in every extension scripts? Just in case the extension class needs to be extended in the future?</li>
  </ol>
  <pre><code>    if (defined('TYPO3_MODE') &amp;&amp; $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ajax_search/pi1/class.tx_ajaxsearch_pi1.php']) {
              include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/ajax_search/pi1/class.tx_ajaxsearch_pi1.php']);
  </code></pre>