anotaciones que no quiero recordar, ni olvidar

me

Problemas que puede encontrar durante una migracion

Ratio: 0 / 5

Inicio inactivoInicio inactivoInicio inactivoInicio inactivoInicio inactivo
 

Joomla Warning: Parameter 2 to frontpage()
Para sustituir simplemente los ficheros /includes/Cache/Lite/Function.php y /includes/vcard.class.php tenéis que acceder a la url:
 http://bitbrain.se/fix_joomla_10x_php_530.zip
Si la modificación la realizan de forma manual tienen que realizar lo siguiente:
En el fichero vcard.class.php hay que añadir la siguiente línea de código:
    if (! function_exists ('quoted_printable_encode')){
    // aquí hay la function quoted_printable_encode()
    }
En function.php he añadido esta línea dos veces:
    $arguments = $ this-> fixCalls ($arguments);
Puedes ver en el fichero donde ponerla.

La nueva función (fixCalls) se añade al final del archivo.


static $newobjCount,$newobj;
    function fixCalls($arguments) {
        for ($i = 0, $j = count($arguments); $i < $j; $i++) {
            if (is_object($arguments[$i])) {
                if (!self::$newobjCount) self::$newobjCount = 0;
                self::$newobj[++self::$newobjCount] = clone $arguments[$i];
                $arguments[$i] = &self::$newobj[self::$newobjCount];
            }
        }  
        return $arguments;     
    }

 

Assigning the return value of new by reference is deprecated
Quitar el “&” de todas las formulas como en el ejemplo siguiente:
$obj_md = new MDB2(); y no $obj_md =& new MDB2();

 

PHP warning: Call-time pass-by-reference has been deprecated
Eliminar & de todos &$this

 

Migrando ereg():
ereg('\.([^\.]*$)', $this->filename, $extension);
reemplazarla por:
preg_match('/\.([^\.]*$)/', $this->filename, $extension);
Nótele que he encerrado el patrón de coincidencia \.([^\.]*$) entre / / (slashes), mismos que son delimitadores de patrón. Si el patrón contuviera slashes (una URL por ejemplo) entonces quizás quieras usar el delimitador # (sharp) en lugar del slash o el delimitador | (barra).


Migrando eregi():
Siguiendo la lógica seguramente buscaríamos la función pregi_match(), que debería ser la versión no sensible a mayúsculas/minúsculas de preg_match(). Sin embargo no existe nada parecido, pues en su lugar se trabaja con los modificadores de expresión regular. Básicamente para volver a preg_match insensible a mayúsculas/minúsculas deberemos anexar la i luego del delimitador de patrón. Entonces, para cambiar:
eregi('\.([^\.]*$)', $this->filename, $extension);
reemplazarla por:
preg_match('/\.([^\.]*$)/i', $this->filename, $extension);
If you are interpolating variables inside your regex, be sure to pass the delimiter you chose as the second argument to preg_quote().


Migrando ereg_replace():
$this->filename = ereg_replace('[^A-Za-z0-9_]', '', $this->filename);
Reemplazarla por:
$this->filename = preg_replace('/[^A-Za-z0-9_]/', '', $this->filename);
Nuevamente, sólo agregué los slashes como delimitadores al patrón.


Migrando eregi_replace():
Nuevamente aplicamos la i como modificador de expresión regular, al igual que en el caso de eregi() explicado anteriormente:
$this->filename = eregi_replace('[^A-Za-z0-9_]', '', $this->filename);
Reemplazarla por:
$this->filename = preg_replace('/[^A-Za-z0-9_]/i', '', $this->filename);
Con lo cual se han cubierto los cambios necesarios en las Funciones de Expresiones Regulares POSIX de uso más frecuente. La filosofía se mantiene intacta para el resto de funciones no detalladas aquí pero que pertenecen a la misma librería como split() y spliti().

 

Deprecated: Function split() is deprecated
Cambiar “split()” con “explode()”