Plugin com conexão ao database – Função única

Estou criando um plugin pessoal com mais arquivos e preciso me conectar a um database externo com WPDB. No momento, estou repetindo “novo wpdb (…)” em todas as funções, em todos os arquivos, do meu plugin. Existe alguma maneira de colocar esta instrução apenas uma vez?

Solutions Collecting From Web of "Plugin com conexão ao database – Função única"

Use um global.

Então, seu arquivo de plugin seria assim:

$myConn = new wpdb( 'username', 'password', 'database', 'localhost' ); function plugin_step_1( $arg1, $arg2 ) { global $myConn; //code to do stuff here } function plugin_step_2() { global $myConn; // more code here } function plugin_step_3( $arg1 ) { //I don't need the wpdb object } add_action( 'init', 'plugin_step_1' ); add_action( 'template_redirect', 'plugin_step_2' ); add_action( 'wp_head', 'plugin_step_3' ); 

Claro, suas funções não necessitam necessariamente de argumentos ou outras coisas.

Além disso, note que a maneira como o MySQL funciona, a persistência da conexão pode ou não ocorrer, mesmo com um object wpdb global especificado em seu plugin / functions.php.

A persistência da conexão (isto é, manter a conexão aberta até que todas as consultas sejam concluídas para uma solicitação de página única) geralmente ocorre durante uma solicitação de página inteira, mas com base em quando e como seu plugin / functions.php vai sobre chamar manipuladores de events para um dado pedido, pode ser que o WordPress efetivamente fecha a conexão antes de todos os pedidos foram feitos, e assim abrirá mais de uma conexão, mesmo que você esteja usando um object global para se conectar.

Mas, parece que sua necessidade é principalmente sobre manter as coisas DRY, em vez dessa persistência ou pool, então isso deve fazer o truque.