* PersistentObject removed; it doesn't do anything and was broken besides.
authorBrion Vibber <brion@users.mediawiki.org>
Wed, 12 Apr 2006 08:32:54 +0000 (08:32 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Wed, 12 Apr 2006 08:32:54 +0000 (08:32 +0000)
  All extensions using it have been corrected.

RELEASE-NOTES
includes/PersistentObject.php [deleted file]
includes/Setup.php

index 5e8c925..616ec91 100644 (file)
@@ -53,6 +53,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Don't force edit summaries when a user is editing their own user/talk page
 * (bug 5510) Warning produced when using {{SUBPAGENAME}} in some namespaces
 * (bug 385) Installer support for PostgreSQL, fixes for PG compatibility
+* PersistentObject removed; it doesn't do anything and was broken besides.
+  All extensions using it have been corrected.
 
 
 == Compatibility ==
diff --git a/includes/PersistentObject.php b/includes/PersistentObject.php
deleted file mode 100644 (file)
index 1007521..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-/**
- * Sometimes one wants to make an extension that defines a class that one wants
- * to backreference somewhere else in the code, doing something like:
- * <code>
- * class Extension { ... }
- * function myExtension() { new Extension; }
- * </class>
- *
- * Won't work because PHP will destroy any reference to the initialized
- * extension when the function goes out of scope, furthermore one might want to
- * use some functions in the Extension class that won't exist by the time
- * extensions get parsed which would mean lots of nasty workarounds to get
- * around initialization and reference issues.
- *
- * This class allows one to write hir extension as:
- *
- * <code>
- * function myExtension() {
- *     class Extension { ... }
- *     new PersistentObject( new Extension );
- * }
- * </code>
- *
- * The class will then not get parsed until everything is properly initialized
- * and references to it won't get destroyed meaning that it's possible to do
- * something like:
- *
- * <code>
- * $wgParser->setHook( 'tag' , array( &$this, 'tagFunc' ) );
- * </code>
- *
- * And have it work as expected
- *
- * @package MediaWiki
- * @subpackage Extensions
- *
- * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
- * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
- */
-
-$wgPersistentObjects = array();
-
-class PersistentObject {
-       function PersistentObject( &$obj ) {
-               $wgPersistentObjects[] = $obj;
-       }
-}
-?>
index 4d2c257..59aff89 100644 (file)
@@ -203,10 +203,6 @@ wfProfileIn( $fname.'-User' );
 # Entries can be added to this variable during the inclusion
 # of the extension file. Skins can then perform any necessary initialisation.
 # 
-# require_once is slow even on the second call, so this needs to be outside the loop
-if ( count( $wgSkinExtensionFunctions ) ) {
-       require_once( 'PersistentObject.php' );
-}
 foreach ( $wgSkinExtensionFunctions as $func ) {
        call_user_func( $func );
 }
@@ -320,9 +316,6 @@ wfProfileIn( $fname.'-extensions' );
 # Entries should be added to this variable during the inclusion
 # of the extension file. This allows the extension to perform
 # any necessary initialisation in the fully initialised environment
-if ( count( $wgExtensionFunctions ) ) {
-       require_once( 'PersistentObject.php' );
-}
 foreach ( $wgExtensionFunctions as $func ) {
        call_user_func( $func );
 }