2009-03-25 17 views
0

Ich habe vor kurzem eine PHP-Web-Entwickler-Position für ein großes Unternehmen übernommen. Sie haben mehrere Websites, die einen Großteil des gleichen Inhalts teilen (hauptsächlich Nachrichtenartikel). Alle Websites sind zwar in PHP geschrieben, der Inhalt ist jedoch statisch und wird auf allen Websites manuell bearbeitet, wenn ein Nachrichtenartikel hinzugefügt oder andere Informationen geändert werden. Der "Senior-Programmierer" ist dagegen, aus irgendeinem Grund ein cms zu verwenden, gegen ein Upgrade auf PHP 5, gegen die Installation von mod_rewrite, grundsätzlich muss ich innerhalb eines sehr kleinen Parameters arbeiten.Gemeinsame Daten mehrere Standorte

Ich habe die ersten 3 Wochen genommen, um eine ganze Menge Klassen zu schreiben, um eine Art Vernunft aus dem Durcheinander zu machen, aber ich muss einen Weg finden, um diese Daten auf einfache Weise zu replizieren. Ich denke etwas ohne die Notwendigkeit einer Datenbank (der Kopf Kerl möchte nicht Daten zu dezentralisieren so Datenbanken überall anders als das Intranet sind ein Nein-Nein), ich will nur eine zentralisierte XML-Datei oder etwas, auch wenn ich Hand editieren muss es ... irgendwelche Ideen ???

+0

Yeah ... Feuer, dass so genannte "Senior-Programmierer" ... er hat ein "Ich bin ein verkleideter Junior-Entwickler" auf der ganzen Stirn geschrieben. – Seb

+0

Also "Kopf Kerl" will keine Datenbank, aber eine XML-Datei, die die gleichen Daten enthält die Datenbank würde in Ordnung sein? –

+0

Bitte senden Sie alle Details dieses Unterfangens an http://www.thedailywtf.com – TheTXI

Antwort

1

Behandeln Sie PHP als Templating-Engine und lassen Sie alle Hauptseiten die html-markierten (oder xml) Artikel aus einem RSS-Feed von einer Site ziehen.

Bearbeiten Sie den Feed, um einen neuen Artikel hinzuzufügen, fügen Sie den markierten Artikel zur Hauptseite hinzu, und es ist alles sehr, sehr einfach, leicht zu verstehen und zu skalieren.

Keine Notwendigkeit, eine 'echte' cms, Datenbank oder irgendetwas.

-Adam

+0

Dann könnten Sie leicht den RSS-Feed für diejenigen mit Feed-Reader haben. Schöne Lösung! +1 –

+0

das ist, was ich ursprünglich im Sinn hatte, obwohl meine Erfahrung mit rss als Entwickler –

+0

rss ist, ist nur eine sehr einfache XML-Link-Datei. Sie können es einige Male manuell bearbeiten, bevor Sie ein Werkzeug verwenden, wenn Sie sich daran gewöhnen möchten. –

0

Benutzer einen Ordner für alle Dokumente, die Ihre Websites konsumieren.

+0

alle Seiten sind auf verschiedenen Hosts .. –

+0

über 6 verschiedene Seiten .. 2 verschiedene Sprachen, die = 12 diffrerent ändert jedes Mal, wenn ich etwas hinzufügen muss .. –

0

Sie könnten CURL verwenden, um auf das zuzugreifen, was Sie über HTTP benötigen. Wenn Sie die Option CURLOPT_RETURNTRANSFER auf 1 setzen, können Sie den gewünschten Inhalt abrufen. XML, HTTP, etc.

0

haben eine Master-Seite, auf der der ursprüngliche Inhalt & bearbeitet erstellt wird.

In allen anderen Fällen verwenden Sie den Apache ErrorDocument-Handler in .htaccess, um 404-Fehler an ein neues PHP-Skript weiterzuleiten.

ErrorDocument 404 /syndicate.php

In syndicate.php, nehmen Sie die uri (von $ _SERVER [ 'REQUEST_URI']), um den Inhalt aus der ursprünglichen Domäne holen und Ausgabe, die es mit einem 200/OK-Header (so ist es nicht als 404 gesehen).

 
$master_domain = 'http://master.com'; 

$master_html = file_get_contents($master_domain . $_SERVER['REQUEST_URI']); 

if($master_html != '') { 
header("HTTP/1.0 200 OK"); 
echo $master_html; 
} else { 
header("HTTP/1.0 404 Not Found"); 
} 

Der doppelte Inhalt befindet sich immer noch unter der angeforderten URL.

+0

nicht alle Websites haben die grundlegenden Notwendigkeiten wie AllowOverride Direktiven –

0

Wenn der Senior-Programmierer gegen Industriestandard-Tools wie CMSes, PHP5 (zumindest gegen PHP3/PHP4 - keine Notwendigkeit für eine Sprache heiligen Krieg), mod_rewrite usw. ist es Zeit, Management zu beteiligen. Eine solche Haltung ist inakzeptabel.

+0

Ich bin immer noch auf meine Probezeit, ich versuche zu halte dich zurück, was den Konflikt angeht. –

+0

In meiner ersten Woche meiner Testphase habe ich mich stark dafür eingesetzt, Joomla zugunsten von Drupal zu verlassen, und es hat gut geklappt. Nicht unbedingt eine schlechte Sache, um einen kleinen Konflikt zu haben, besonders wenn Sie eindeutig richtig sind. – ceejayoz

Verwandte Themen