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.