zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden ? zum einem älteren Beitrag (Dateien auslagern, Include)

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 26.12.2007, 19:13
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.12.2007
Beiträge: 26
Stefan G. befindet sich auf einem aufstrebenden Ast
Standard ? zum einem älteren Beitrag (Dateien auslagern, Include)

Hallo!

In einem etwas älteren Beitrag (dieser hier: http://xhtmlforum.de/46980-dateien-a...e-und-php.html ) habe ich das gefunden, wonach ich recht lange gesucht habe und das ich gern einsetzen möchte.

User "loci" schlug vor, den (auszulagernden) Php-Block am Anfang nicht per require_once aufzurufen, sondern auf diese Art, was m.E. auch Sinn macht.

PHP-Code:
if (!isset($loaded_scripts[$filename]))
{
    
$loaded_scripts[$filename] = true;
    require(
$filename);

Ich bin zu unbewandert in php, um das korrekt umzusetzen. Nach einigem Googeln und lesen und probieren weiß ich, das ich $filename definieren muss, Es wäre also hier z.B. $filename='ausgelagert.inc' vorher zu definieren, richtig?

Aber wie definiere ich $loaded_scripts?

Kann mir bitte jemand den entscheidenden Ratschlag geben, wie ich mittels o.g. Lösung die Navi korrekt einbinde?

danke sagt
Stefan
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 26.12.2007, 20:04
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Hallo!

Der Code von loci tut nichts anderes als nachzusehen ob eine Datei schon includet/required ist oder nicht und wenn nicht wird es eben gemacht.

$loadet_scripts[] ist ein Array, das den Dateinamen der zu includierenden Datei enthält.
Ist Dieser Wert bereits definiert (true) wird die Kontrollstruktur verlassen, ansonsten eben das Array+Wert definiert/auf true gesetzt, und die Datei dann required.

Diese Variante ersetzt aber kein include oder require, man kann gaénausogut ohne dies Abfrage jedesmal zu machen nur einbinden...

cu
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 27.12.2007, 00:19
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.12.2007
Beiträge: 26
Stefan G. befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von paracelsus Beitrag anzeigen

Der Code von loci tut nichts anderes als nachzusehen ob eine Datei schon includet/required ist oder nicht und wenn nicht wird es eben gemacht.

Diese Variante ersetzt aber kein include oder require, man kann gaénausogut ohne dies Abfrage jedesmal zu machen nur einbinden...
hm, das ist aber jetzt widersprüchlich. (wenn nicht, wird es eben gemacht ./. ersetzt kein include/require)

Aber ok, ich hab es dank deiner Erklärung (vor allem wegen des Arrays) verstanden und inzwischen läuft es ganz hervorragend.

bye
Mit Zitat antworten
  #4 (permalink)  
Alt 27.12.2007, 01:45
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Der genannte Algorithmus sorgt dafür, dass die in „$filename“ stehende Datei nur einmal eingebunden wird und soll eine angeblich schnellere Alternative zu „include_once“ beziehungsweise „require_once“ sein. Konsequenterweise müsste es dann allerdings wie folgt aussehen:
PHP-Code:
$loaded_scripts = array();

// …

$filename 'foobar.php';
if( (
$filename realpath($filename)) && !isset($loaded_scripts[$filename]) ) {
    
$loaded_scripts[$filename] = true;
    require 
$filename;

Ob das nun wirklich besser als ein einfaches
PHP-Code:
require_once 'foobar.php'
sein soll, ist jedem selbst überlassen.
__________________
Markus Wulftange
Mit Zitat antworten
  #5 (permalink)  
Alt 27.12.2007, 09:33
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Naja, wenn ein Skript viele Millionen mal eine Datei einbinden möchte, ergibt sich sicher ein grosses Einsparpotential.
Mit Zitat antworten
  #6 (permalink)  
Alt 27.12.2007, 10:32
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Wenn ein Skript viele Millionen Mal eine Datei einbinden möchte, sollte der Sinn dieses Skriptes überdacht werden. Denn egal welche Methode nun gewählt wird, haben beide dadurch recht hohe Kosten.
__________________
Markus Wulftange
Mit Zitat antworten
  #7 (permalink)  
Alt 27.12.2007, 10:40
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Du hast mein Smilie übersehen
Mit Zitat antworten
  #8 (permalink)  
Alt 29.12.2007, 20:43
Benutzerbild von kampfgnom
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 22.11.2006
Ort: Radebeul
Beiträge: 1.808
kampfgnom befindet sich auf einem aufstrebenden Ast
Standard

Den du knallhart vergessen hast
__________________
Meine Spielwiese: http://blog.kanedo.net
Ich bei Flickr? Da: Flickr: Fotostream von kanedo-projekt
Für open Source Liebhaber: open Com

Auch ich Zwitschere als @kanedo
Mit Zitat antworten
  #9 (permalink)  
Alt 30.12.2007, 15:13
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Zitat:
Zitat von kampfgnom Beitrag anzeigen
Den du knallhart vergessen hast
Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Du hast mein Smilie übersehen
Richtig Aber ich verwende immer nur include oder require da ich weiß welche Datei geladen ist und welche nicht!
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 30.12.2007, 19:25
Benutzerbild von ArcVieh
//
XHTMLforum-Kenner
 
Registriert seit: 19.12.2006
Ort: Gütersloh
Beiträge: 1.844
ArcVieh sorgt für eine eindrucksvolle AtmosphäreArcVieh sorgt für eine eindrucksvolle Atmosphäre
Standard

PHP ist sehr schnell und in der Regel bindet man keine absurdum 1000 Dateien ein, wie Gumbo schon sagte, der Sinn sollte gründlich überlegt werden.

In der Regel reicht include/require aus, require_once() macht evtl. nur Sinn, wenn man auf Nummer sicher gehen will (zum Beispiel beim Einbinden von Klassen).

Wenn man sich eine kleine Webseite schreibt, reicht das einfach Einbinden aus, vor allem wenn man alleine an der Seite schreibt und der Code überschaubar ist.

So einen Aufstand würde ich nicht unbedingt machen, ich bin faul.
__________________
CSS-FAQ beantwortet die meisten Fragen | Retro coding gegen Divitis | Code validieren & posten für Hilfe
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Chat-Thread paracelsus Offtopic 22838 27.09.2022 14:27
Inhalte (z.B. Navigation) auslagern ohne JavaScript und mit .html Dateien Garlandt (X)HTML 5 18.07.2014 19:42
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 19:09


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:46 Uhr.