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

    • 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 ...
    • 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 ...
    • 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 ...
    • Libreria PHPSpreadSheet con Scriptcase

      1- Realizamos la descarga de la librería externa PHPSpreadSheet sin composerhttps://php-download.com/downloads/phpoffice/phpspreadsheet/1.8.2.0/phpoffice_phpspreadsheet_1.8.2.0_require.zip 2- Luego procedemos a cargar la librería externa en el ...
    • Configurar IIS7 con PHP 7.0.30

      En las instalaciones de Windows los archivos necesarios para funcionar IIS están incluidos en el sistema, aunque no viene instalado el servidor de forma predeterminada 1 - En el Panel de control abre "Programas y características" 2 - En el panel dela ...