• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Auslagern von dateien

Status
Für weitere Antworten geschlossen.

ixam

Neues Mitglied
[gelöst]Auslagern von dateien

Hallo,
ich habe inzwischen einige php dateien, bei denen sehr viel code funktionen etc. enthalten ist. Deshalb würde ich gerne den code z.B innerhalb von funktionen auslagern. Ich habe es schon so versucht:
PHP:
function hallo_sagen(){

  include("hallo_sagen.php");

}
versucht, allerdings funtkiniert das nicht, und ich verstehe auch nicht warum. Vieleicht liegt das auch einfach daran, dass ich eine falsche Vorstellung davon habe, was die funktion macht.
Ich denke, dass die funktion einfach den code aus der angegeben Datei einliest und dann:

PHP:
function hallo_sagen(){

  include("hallo_sagen.php");

}
gleich


PHP:
function hallo_sagen(){

  echo "hallo";

}
ist(natürlich nur wenn in hallo_sagen.php "echo "hallo"; " steht ).

Stimmt das, oder liege ich falsch? Gibt es vieleicht eine andere funktion dafür?


Grüße
ixam
 
Zuletzt bearbeitet:
Werbung:
include gibt deinem script nur die möglichkeit auf den QT zuzugreifen, der QT wird aber nicht evaluiert/ausgeführt.

Dein PHP Script weiß also nun dass du da echo "hallo" hast, aber das wars auch schon.

wenn du Funktionen auslagern willst musst du die Funktionen komplett auslasgern
ausgelagert.php
PHP:
<?php function test() {echo "hallo";} ?>
intern.php
PHP:
<?php
//Hier weis dein Script nichts von der funktion test
include("ausgelagert.php");
//Jetzt kennt php den QT, also die Funktion
//Du kannst sie jetzt ausführen
test();
?>
 
normalerweise sollte das, was du da geschrieben hast, funktionieren, du meinst aber wahrscheinlich auch nicht wirklich den funktionsaufruf, sondern das include().

funktionen haben aber so ihre eigenheiten, auf die du achten musst. zu dem ist zu bedenken, dass definierte variablen NICHT in eine funktion übernommen werden, es sei denn du übergibst sie an die funktion.
deine funktion arbeitet gewisser massen mit einem eigenen variablen bereich, der nach verlassen der funktion verworfen wird.
 
Werbung:
er will damit sagen

PHP:
$a = 1;

function add($number) {
    $a = $a + $number;
}

// gibt "1" aus;
echo $a;

und genau das gleiche ist es auch mit allen variablen die in deinen inclide dateien sind.

mal ganz nebenbei ist es eigentlich schwachsinn einen einzelnen include über eine funktion zu regeln da kannst du lieber klassen benutzen und eine __autoload() funktion definieren die dir alles automatisch hohlt. :)
 
also ich hab des früher auch so gemacht nur ich hatte des so:

hallo_sagen.php
PHP:
<?php
  echo "hallo";
?>
intern.php
PHP:
<?php
  include 'hallo_sagen.php';
  echo "noch mal hallo";
?>
und des hat glaub ich auch immer einwandfrei funktioniert.
Gruß KY
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben