Les gens ici ont des morceaux de la solution, mais nous allons rouler tout en une seule solution.
Pour une seule instance d'une fonction Oracle, le test avec function_exists()
est suffisant; mais si le code est saupoudré tout au long des appels OCI, ça va être une énorme douleur dans le cul pour envelopper tout le monde dans un test function_exists()
.
Par conséquent, je pense que la solution la plus simple serait de créer un fichier appelé nodatabase.php qui pourrait ressembler à ceci:
<?php
// nodatabase.php
// explicitly override database functions with empty stubs. Only include this file
// when you want to run the code without an actual database backend. Any database-
// related functions used in the codebase must be included below.
function oci_connect($user, $password, $db = '', $charset='UTF-8', $session_mode=null)
{
}
function oci_execute($statement, $mode=0)
{
}
// and so on...
Ensuite, conditionnellement ce fichier si un global (par exemple, THEME_TESTING) est défini juste devant l'endroit où le code de la base de données est appelé. Un tel inclure pourrait ressembler à ceci:
// define("THEME_TESTING", true) // uncomment this line to disable database usage
if(defined(THEME_TESTING))
include('nodatabase.php'); // override oracle API with stub functions for the artists.
Maintenant, quand vous la main sur le projet aux artistes, ils ont besoin tout simplement de faire qu'une modification et ils sont prêts à partir.
Oui ... mais cela imprime juste à l'écran les spécificités. Je veux savoir quelles sont les spécificités et ne pas imprimer les choses à l'écran. –