75
bastante códigos legados, pois será
preciso usar MySQLi ou PDO no
lugar das funções mysql_*, como
mysql_connect(), mysql_query etc.
Para saber como usar PDO
(recomendado) no lugar da
extensão MySQL, leia este artigo:
http://lwgo.to/18cA seguir, um exemplo de
conexão por PDO. É bastante
parecido com a conexão ADO feita
em ASP ou outras linguagens.
Em um primeiro momento,
criam-se variáveis para armazenar
os dados de conexão:
$mysqlHost = 'servidor';
$mysqlUser = 'usuario';
$mysqlPassword = 'senha';
$mysqlDbName = 'base_de_dados';
O código a seguir faz a conexão
com base nessas variáveis. Note
que a string de conexão está dentro
de um bloco “try”, para tratar erros
caso ocorram:
try{
$PDO = new PDO(
'mysql:host=' .
$mysqlHost.';dbname=' .
$mysqlDbName,
MYSQL_USER,
MYSQL_PASSWORD
);
} catch ( PDOException
$e ) {
echo 'Erro ao
conectar com o MySQL:
' . $e->getMessage();
}
Em seguida, usam-se os
strings normais para um SELET dos
registros da base de dados:
$sql = "SELECT * FROM
tabela";
$result = $PDO->query( $sql
);
$rows = $result->fetchAll();
print_r( $rows );
Também foram removidas
as funções ereg_* e eregi_*,
como ereg(), ereg_replace, eregi(),
devendo serem utilizadas as
funções da biblioteca PCRE. Veja:
http://lwgo.to/18dTags alternativas
As tags alternativas para abrir e
fechar código PHP foram removidas.
Por isso, será preciso substituí-las
pelas tags padrão.
Tags removidas: <%, <%=, %>,
<script language="php">, </
script>
Tipagem
Nem só modificações
que demandam retrabalho
de código vêm com o PhP 7,
recursos que facilitam a vida
e tornam a criação de código
mais consistente e menos
suscetível a erros também
são novidades. Como
maior capacidade de indução
de tipos (Type Hints). Agora são
suportados tipos int, float, string
e bool, e também é possível
definir o tipo do retorno.
Um exemplo:
function soma($x, $y) :
float
{
return $x + $y + 1.5;
}
Novos operadores
O PHP 7 apresenta operadores
como Spaceship que permitem
comparar números. Alguns
exemplos disponíveis.
Spaceship <=>
var_dump(2 <=> 3);
// retorna -1
var_dump(2 <=> 2);
// retorna 0
var_dump(2 <=> 1);
// retorna 1
Os retornos possíveis são:
- 1 quando o primeiro operador
é menor que o segundo;
0 quando o primeiro operador é
igual ao segundo;
Na página
http://lwgo.to/18c, você aprende como usar PDO
(recomendado) no lugar do mysql_*
[
TAMBÉM FORAM REMOVIDAS AS FUNÇÕES EREG_* E
EREGI_*, COMO EREG(), EREG_REPLACE, EREGI(), DEVENDO
SER UTILIZADAS AS FUNÇÕES DA BIBLIOTECA PCRE
]
2 quando o primeiro operador é
maior que o segundo.
Null Coalesce Operator ??
9HULíFD D H[LVW¬QFLD GH
parâmetros, retornando seu
próprio valor, sem causar um
erro de E_NOTICE. O operator ??
SHUPLWH YHULíFDU D H[LVW¬QFLD GH
um parâmetro diretamente, sem
retornar avisos E_NOTICE.
<?php
$lista = ['chave' =>
'valor'];
// PHP 5.6
$a = isset($lista['nao_
tem']) ? $lista['nao_tem']
: 123; // válido
$a = $lista['nao_tem'] ?:
123; // E_NOTICE se a chave
não existir
// PHP 7
$a = $lista['nao_tem'] ??
123; // válido
Divisão de inteiros
Um novo operador, %%,
que permite dividir dois inteiros e
UHWRUQDU XP LQWHLUR Ö H Q¥R XP îRDW
– foi adicionado:
REVISTA LOCAWEB