WordPress mysqli e DOP


11

A base de código do WordPress usa mysqli ou DOP?

Eu sei que a DOP é superior ao mysqli, mas o mysqli também não é ruim. Além disso, um dos recursos do que torna a DOP superior ao mysqli (que está sendo independente de banco de dados) não significa muito para o WordPress, pois o WordPress sempre usará o servidor mysql. Mas ligar parâmetros com tipos de dados é algo que o PDO suporta, mas o mysqli não suporta e é uma coisa boa.

Minha coragem me diz que o WordPress usa o mysqli, mas eu ainda não o via na base de código.

Minha segunda pergunta é se o WordPress está usando o mysqli, é por causa de preocupações com a velocidade ou é porque nos dias anteriores (quando o WP estava sendo desenvolvido), a DOP ainda não estava lá?

Respostas:


6

WordPress usa mysql_*funções .

http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/wp-db.php

Ele as usa desde que me lembro, o que provavelmente responde à sua última pergunta. É o que eu consideraria código legado. Eu suspeito que ele será atualizado em breve (essas funções foram obsoletas apenas no PHP 5.5, acredito). Eu não sei qual o desenvolvimento da rota.

Link para um ticket no Trac, cortesia de Wyck (de um comentário abaixo):

http://core.trac.wordpress.org/ticket/21663


Eu verifiquei o código em wp-db.php. On-line, 1133, possui a função db_connect e, de acordo com ela, nem sequer é mysqli. Estou confuso. a linha 1143 claramente tem isso; $ this-> dbh = @mysql_connect ($ this-> dbhost, $ this-> dbuser, $ this-> dbpassword, $ new_link, $ client_flags); e de acordo com o manual do PHP ( php.net/manual/en/function.mysql-connect.php ), este é um código mysql, não mysqli. O WP realmente usa o mysql?
Joe médio

6
O Wordpress usa funções desatualizadas, uma vez que mysql_connectfoi oficialmente depreciado, e o wp passará, esperançosamente, para a DOP em breve (em breve é ​​de um a dois anos). Ref: core.trac.wordpress.org/ticket/21663
Wyck

@AverageJoe ... sim, como eu disse, o WordPress usa funções mysql. Como Wyck, espero a DOP, mas não sei para que lado ela será.
s_ha_dum

Obrigado pelo link trac Wyck. s_ha_dum, inclua este link ( core.trac.wordpress.org/ticket/21663 ) em sua resposta e corrija a gramática em que você vai "Se você já os usou desde que me lembro", quando tiver uma chance. Obrigado
Média Joe

Um pequeno solavanco. Isso foi escrito há um ano luz. Mas hoje eu acredito que temos mysqli_ * no wordpress desde algumas versões, certo?
K.Killian Lindberg

10

Uma atualização para o Wordpress 3.9+ - com o PHP 5.5 descontinuando as mysql_*funções que o Wordpress começou a usar mysqlise estiver disponível no servidor. Seus futuros plugins e códigos devem levar isso em consideração e parar de usar mysql_*. No momento, na versão 3.9, o wordpress verifica a disponibilidade mysqlie a utiliza, se disponível. Caso contrário, ele usa, mysql_*mas essa verificação será removida o mais cedo possível. No futuro, parece que eles estarão usando, PDOmas esse é um projeto maior.

Aqui está um FAQ e um anúncio:

http://make.wordpress.org/core/2014/04/07/mysql-in-wordpress-3-9/

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.