Wie kann ich eine PHP-Datei ausführen, bevor ich ihren Inhalt mit einer anderen Datei verwende?

8

Situation

Ich mische HTML & amp; CSS mit PHP-Variablen, so dass ich viele Einstellungen mit nur einer Konfigurationsdatei verwalten kann. Das funktioniert alles gut, aber ich versuche jetzt das CSS zusammenzuführen und zu verkleinern. Und das verursacht ein Problem.

Problem

Die Variablen werden nicht in das komprimierte Blatt zurückgegeben, da das PHP-Skript nicht ausgeführt wird. Und das, weil file_get_contents () den Inhalt in eine Zeichenfolge konvertiert.

Frage

Ist es in irgendeiner Weise möglich, die Dateien zuerst auszuführen und dann deren Inhalt zu erfassen? Oder greifen Sie ihre Inhalte auf andere Weise auf, so dass sie immer noch ausgeführt werden?

Dateien

config.php

%Vor%

base-stylesheet.php

%Vor%

spezifische-stylesheet.php

%Vor%

minified-stylesheets.php

%Vor%

index.php

%Vor%     
Pepijn Gieles 03.06.2015, 10:13
quelle

3 Antworten

1

Sie kennen die Methode ob_start() bereits.

Aber ich werde eine bessere Alternative (und schneller) zeigen:

Ihre Hauptdatei:

%Vor%

Nun, nicht viel hier. Habe gerade ein include() dort hinzugefügt ...

Aber es funktioniert nicht wie beabsichtigt, es sei denn, Sie mögen das für jede Datei:

  1. Erstellen Sie einen Heredoc mit dem gesamten Inhalt
  2. Gebe es zurück

Verwenden Sie das Basis-Stylesheet als Beispiel:

%Vor%

* Ignoriere die fehlerhafte Syntax highlight

Und du bist fertig.

Nicht mehr böse ob_start() !!!

Außerdem verwenden CSS-Kommentare die /* */ -Syntax, // wird als ungültiger CSS-Selektor ausgewertet.

    
Ismael Miguel 03.06.2015, 10:43
quelle
4

Ich denke, was Sie tun müssen, ist die Datei in einen PHP-Puffer einzuschließen und dann den Puffer zu minimieren

%Vor%     
Ease Technology 03.06.2015 10:23
quelle
1

file_get_contents() liest buchstäblich den Inhalt einer Datei und legt den Inhalt ab in eine Zeichenfolge. Was Sie verwenden müssen, ist include() . Dies analysiert den Inhalt der Datei.

    
Styphon 03.06.2015 10:17
quelle

Tags und Links