Errores de incompatibilidad con PHP 7.0 luego de la conversión

Errores de incompatibilidad con PHP 7.0 luego de la conversión

Los únicos errores que pueden ocurrir serán debido a los códigos utilizados en los eventos, bibliotecas y métodos que no sean compatibles con PHP 7.0. Estos errores se deben corregir manualmente.


1 - Short open tags

La directiva short_open_tag informa a PHP si la forma abreviada (<? ?>) De la etiqueta de apertura de PHP está permitida.

Independiente de la versión del php, se debe chequear en php.ini si el short_open_tag está habilitado.

Solución 1:
Cambiar la etiqueta de apertura de php(<?php ?>)
Solución 2:
Cambiar la directiva short_open_tags en php.ini:

short_open_tags = On


2 - Nuevos objetos no se pueden asignar por referencia

El resultado de la declaración new ya no se puede asignar a una variable por referencia:    
<?php
class C {}
$c =& new C;
?>

El ejemplo anterior se imprime para PHP 5:
           Deprecated: Assigning the return value of new by reference is deprecated in /tmp/test.php on line 3

El ejemplo de arriba se imprime para PHP7:
           Parse error: syntax error, unexpected 'new' (T_NEW) in /tmp/test.php on line 3

Solución:
          Retirar la referencia (&) de los atributos:

<?php
class C {}
$c = new C;
?>


3 -Constructores al estilo PHP 4

Los constructores al estilo PHP 4 (métodos que tienen el mismo nombre que la clase donde están definidos) están obsoletos, y serán eliminados en el futuro. El PHP 7 enviará E_DEPRECATED si un constructor de PHP 4 es el único constructor definido en la clase. Las clases que implementan el método __construct () no se ven afectadas.

<?php
class foo {
    function foo() {
        echo 'Eu sou um construtor';
    }
}
?>

El ejemplo de arriba se imprimirá:

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; foo has a deprecated constructor in example.php on line 3


4 -Llamadas estáticas a métodos no estáticos

Las llamadas estáticas a métodos que no se han declarado como static están obsoletas, y se pueden quitar en el futuro.

<?php
class foo {
    function bar() {
        echo 'Eu não sou estático!';
    }
}

foo::bar();

?>

El ejemplo de arriba se imprimirá:

Deprecated: Non-static method foo::bar() should not be called statically in - on line 8
I am not static!


Para más información:

Nuevos Recursos de PHP 7.0
  - Recursos obsoletas para PHP 7.0


Fuente: http://php.net

    • Related Articles

    • Instalación de Scriptcase con PHP 7.3 en Windows

      Esta documentación irá informando los pasos necesarios para la instalación de PHP 7.3, Apache 2.4 y Scriptcase de forma manual. Al realizar este tipo de instalación, usted es responsable de configurar todo su entorno, así como las extensiones de la ...
    • Resolución del problema de la versión de Source Guardian

      En este tutorial, mostraremos cómo resolver el problema con la versión de Source Guardian en las instalaciones de Scriptcase. Seleccione su sistema operativo correspondiente para seguir los pasos correctos a continuación: Linux Windows MacOS Por ...
    • Conversión de proyectos a Scriptcase 9

      Scriptcase permite la portabilidad de sus proyectos, de forma sencilla, a través de la conversación de Proyectos. Por lo tanto, los proyectos desarrollados en cualquier versión anterior de la herramienta pueden beneficiarse de todas las nuevas ...
    • Generación de credenciales para la autenticación con Facebook

      En este artículo aprenderemos a generar credenciales (Identificador de la aplicación y Secreto) para la autenticación y acceso a nuestro proyecto desarrollado en ScriptCase a través de Facebook. 1 - El primer paso es crear una cuenta de Facebook como ...
    • Instalación de Scriptcase con PHP 7.0 en Windows

      Este artículo describirá la instalación de PHP 7.0 y Apache 2.4 para el uso de ScriptCase. Sistemas operativos compatibles: Windows Server 2008 SP2 2008 R2 SP1 2012 2012 SP2 2016 Windows 7 SP1 Vista SP2 8 8.1 10 Archivos necesarios: PHP 7.0: haga ...