2009-08-25 8 views
0

Ich schreibe diesen CodeErklärungen Fehler in einbeziehen und Funktionen

include('database.php'); 

function get_something() { 

database instructions 

} 

function get_another(){ 

database instructions 

} 

und ich versuche, dieses

function get_something() { 
    include('database.php'); 
    database instructions 

} 

function get_another(){ 
    include('database.php'); 
    database instructions 

} 

ich Neudeklaration Fehler zu beheben bekommen.

Wie kann ich das beheben?

Dank

+0

Verwenden Sie 'include_once', Funktionen in enthaltenen Dateien werden global AFAIK deklariert. –

+0

... Funktionen UND 'definieren' :-) –

Antwort

3

Entweder sind alle Ihre Dateien an einem Punkt Ihrer Anwendung, die nur ausgeführt werden, wenn gewährleistet ist, oder include_once 'database.php';

Lesen Sie weiter, es aufbrauchen here. Alternativ können Sie autoloading implementieren. PHP wird dann Klassen laden, wenn und nur wenn es sie braucht. Es funktioniert jedoch nicht für globale Funktionen (da sie keine Klassen sind). Sie müssten sie in eine Klasse einbinden, wenn Sie dies nutzen möchten.

0

Separate Konfiguration der Datenbank und der Funktionen in verschiedenen Dateien. Fügen Sie die Datei mit den Funktionen zuerst ein, nur einmal (require_once ist dafür geeignet).

Dann die Datenbankkonfiguration wo benötigt. Dies kann als Rückkehr ein Array für

Beispiel gespeichert wird
<?php 
return array(
    'db1' => array(
     'user' => 'sdf', 
    ), 
); 

und

$config = include 'config.php'; 

Das ist die „schnelle Lösung jetzt“ -Methode. Aber Sie sollten wirklich OOP verwenden und automatisch laden.