Os únicos erros que poderão ocorrer serão em decorrência de códigos utilizados nos eventos, bibliotecas e métodos que não sejam compatíveis com o PHP 7.0. Esses erros devem ser corrigidos manualmente.

1 - Short open tags

A diretiva short\_open\_tag informa ao PHP se a forma abreviada ( ?) da tag de abertura do PHP é permitida.

Independe da versão do php, precisa-se checar no php.ini se o short\_open\_tags está habilitado.

Solução 1:  
Alterar a tag de abertura do php para (php ?)  
Solução 2:  
Alterar a diretiva short\_open\_tags no php.ini:

```
short_open_tags = On
```

2 - Novos objetos não podem ser atribuídos por referência

:   O resultado da declaração new não pode mais ser atribuído a uma variável por referência:

```
php<br style="box-sizing: border-box" /class C {}  
$c =& new C;  
?>
```

O exemplo acima irá imprimir no PHP 5:  
       Deprecated: Assigning the return value of new by reference is deprecated in /tmp/test.php on line 3  
  
O exemplo acima irá imprimir no PHP 7:  
       Parse error: syntax error, unexpected 'new' (T\_NEW) in /tmp/test.php on line 3

Solução:  
       Retirar referência (&) da atribuição:

```
php<br style="box-sizing: border-box" /class C {}  
$c = new C;  
?>
```

3 - Construtores ao estilo PHP 4

Construtores ao estilo PHP 4 (métodos que têm o mesmo nome que a classe onde estão definidos) estão depreciados, e será removido no futuro. O PHP 7 emitirá `E_DEPRECATED` se um construtor do PHP 4 for o único construtor definido na classe. Classes que implementam o método \_\_construct() não são afetadas.

```
php<br style="box-sizing: border-box" /class foo {  
    function foo() {  
        echo 'Eu sou um construtor';  
    }  
}  
?>
```

O exemplo acima irá 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 - Chamadas estáticas a métodos não estáticos

Chamadas estáticas a métodos que não foram declarados como static estão depreciados, e podem ser removidos no futuro.

```
php<br style="box-sizing: border-box" /class foo {  
    function bar() {  
        echo 'Eu não sou estático!';  
    }  
}  
  
foo::bar();  
  
?>
```

O exemplo acima irá imprimir:

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

Para mais informações:

- [Novos Recursos do PHP 7.0](http://php.net/manual/pt_BR/migration70.new-features.php)  
 - [Recursos depreciados no PHP 7.0](http://php.net/manual/pt_BR/migration70.deprecated.php)

Fonte: [http://php.net](http://php.net/)