Heim  >  Artikel  >  Backend-Entwicklung  >  Eine detaillierte Einführung in die beste Sekundärentwicklung von cms

Eine detaillierte Einführung in die beste Sekundärentwicklung von cms

黄舟
黄舟Original
2017-10-21 09:35:016068Durchsuche

◆Sekundärentwicklung

 Was ist Sekundärentwicklung?

Sekundärentwicklung besteht einfach ausgedrückt darin, vorhandene Software zu verwenden, kundenspezifische Änderungen vorzunehmen, Erweitern Sie die Funktionen und erzielen Sie die gewünschten Funktionen und Effekte. Im Allgemeinen wird der Kern des ursprünglichen Systems nicht geändert.

 

Warum Sekundärentwicklung?

Mit der kontinuierlichen Weiterentwicklung der Informationstechnologie ist in der IT-Branche eine Reihe hervorragender Open-Source-Werke entstanden, und ihre Autoren oder Einzelpersonen , oder ein Projektteam, oder

ein Softwareunternehmen. Durch die Auswahl und Anwendung dieser hervorragenden Open-Source-Software und die Durchführung einer sekundären Entwicklung, die den Geschäftsanforderungen auf dieser Grundlage entspricht, können Unternehmen Informationskosten

(Zeitkosten und Entwicklungskosten) einsparen, und gleichzeitig können sie dies auch tun Technische Garantie mitbringen. Das hören wir oft: Wenn man auf den Schultern von Giganten steht, wird man

weiter sehen. Daher benötigen viele inländische Unternehmen sekundäre Entwicklungstalente.

 

Wie führt man eine Sekundärentwicklung durch?

Zunächst müssen Sie über die Sprachgrundlage der in diesem Open-Source-Produkt verwendeten Sprache verfügen am einfachsten.

Zweitens müssen Sie mit der Funktion und Verwendung dieses Open-Source-Produkts vertraut sein. Da Sie damit vertraut sind, kennen Sie eine Anforderung, was Sie ändern möchten

und Was ist das? Es ist im System enthalten, wie kann ich es ändern?

Drittens müssen Sie mit der Datenstruktur, der Codestruktur und der Systemrahmenstruktur dieses Open-Source-Produkts vertraut sein, was der Kern ist und wo sich die Nebenfunktionen befinden.

Einfach ausgedrückt handelt es sich um Vertrautheit mit Datenbanken, Codelogik und Dateiverzeichnissen.

Viertens verwenden Sie dann entsprechend Ihren Anforderungen den Kern des Open-Source-Produkts, um das System entsprechend Ihren Anforderungen zu erweitern und zu modifizieren. Führen Sie die Grundlagen der sekundären Entwicklung von PHP-Open-Source-Produkten ein Anforderungen:

Erstens Grundanforderungen: HTML (muss sehr vertraut damit sein), PHP (kann Code verstehen und einige kleine Systeme schreiben, z. B. Message Boards, kleine CMS),

MySQL (kennen Sie mindestens eine Datenbank), Javascript (kann es verstehen und einige vorhandene Codes ändern), p+Css (kann die Schnittstelle anpassen und verstehen, wie CSS

verwendet wird)

Zweitens, Sie müssen mit der Verwendung von Open-Source-Produkten wie Dedecms vertraut sein. Sie müssen wissen, wie man sich anmeldet, wie man eine neue Spalte erstellt, wie man Artikel hinzufügt, wie man Vorlagen-Tags verwendet, das Konzept und die Verwendung von Modellen usw. Funktion

Drittens müssen Sie mit der Datenbankstruktur dieses Open-Source-Produkts vertraut sein und auch den Inhalt der darin enthaltenen Kerndateien verstehen, z. B. wie die Datenbankklasse verwendet wird und wie häufig verwendete Funktionen ausgeführt werden Sicherheitsfilterung, Verwendung der Template-Engine und andere Kerninhalte. Sie müssen auch die Verzeichnisstruktur dieses Open-Source-Produkts kennen, das heißt, Sie müssen wissen, wo die Vorlagen platziert sind, wo die Steuerelemente platziert sind, wo die Stile platziert sind usw.

Viertens Machen Sie sich mit Ihren Anforderungen vertraut, interpretieren Sie sie und bestimmen Sie dann, wie Sie dieses Open-Source-Produkt ändern und erweitern können.

Was können Sie nach der Sekundärentwicklung erhalten?

Sie können Ihre Anforderungen erfüllen und das können Sie Sammeln Sie hier Erfahrungen. Die Erfahrung ist Ihre eigene und die anderer. Der sogenannte Nutzen für andere bedeutet, dass Sie bei dieser zweiten Entwicklung die Essenz dieses Systems aufnehmen und dann in Ihr eigenes Denken integrieren und auch die Erfahrungen der Projektarchitektur zusammenfassen können. Es gibt ein Sprichwort

, das gut ist: Kluge Menschen betrachten die Misserfolgserfahrungen anderer Menschen als ihre eigene Erfahrung, während dumme Menschen sich selbst als ihre eigene Erfahrung betrachten, nachdem sie unzählige Misserfolge erlebt haben

Meine eigene Erfahrung. Sekundäre Entwicklung ist nicht nur Entwicklung, sondern, was noch wichtiger ist, das Aufsaugen der Essenz, das Zusammenfassen von Erfahrungen, das Richten von Ideen, das Vermeiden von Umwegen und das Verbessern der eigenen Persönlichkeit.

 

Auf den Schultern von Riesen stehend, wirst du weiter sehen!!!

 ◆DedeCMS Sekundärentwicklung

In Ordnung Damit mehr Menschen die sekundäre Entwicklung verstehen und die sekundäre Entwicklung von DedeCMS besser verstehen können, werden im Folgenden einige Grundlagen und Umrisse der sekundären Entwicklung von DedeCMS kurz vorgestellt

Notwendige Grundlage für die Sekundärentwicklung von DedeCMS:

· Sehr vertraut mit HTML· Vertraut mit dem Layout von p+CSS

· Solide PHP-Grundlage, Vertraut mit strukturierter Programmierung , OOP verstehen und in der Lage sein,

 · mit MYSQL vertraut zu sein, die SQL-Sprache zu beherrschen

 DedeCMS-Sekundärentwicklungs-Lernprozess

· Verstehen Sie, was CMS ist

· Machen Sie sich mit den Funktionen von DedeCMS vertraut (z. B. Spaltenklassifizierung, Dokumentenverwaltung, Verwendung von Modellen, Systemeinstellungen und anderen häufig verwendeten Funktionen)

· Beherrschen Sie die Vorlagen von Verwendung und Prinzipien von DedeCMS-Tags

· DedeCMS-Verzeichnisstrukturanalyse

Machen Sie sich damit vertraut, welche Dateien hauptsächlich in den einzelnen Ordnern enthalten sind, sodass Sie wissen, welche Dateien in welchem ​​Ordner während der sekundären Entwicklung geändert werden müssen

Zusammenfassung der Verzeichnisstruktur:

./a Generierter Dateispeicherpfad

./data Cache-Datei und Rechenzentrum

/admin Hintergrund verwalten Daten

 /backupdata Sicherungsdaten

 /Cache-Cache-Datei /Verknüpfungsdaten auf Aufzählungsebene, JS, Aufzählungstyp-Cache-Datei

 / js Häufig verwendetes JS

/mark wasserzeichenbezogene Dateien

/module Modulinstallationsdatei

/rss RSS-bezogene Dateien

/sessions Sitzungsspeicherpfad

 /textdata Textdaten

 /tplcache-Vorlagen-Cache

 /uploadtmp Upload-Datei-Cache-Speicherort

/ziptmp Zip-Paket-Dekomprimierungs-Cache-Speicherort

 …

 DedeCMS-Dateistrukturanalyse

Vertraut mit den Grundfunktionen jeder Datei, um Änderungen zu erleichtern, können Sie die Dateien leicht ändern

  Zusammenfassung der Dateistruktur:

common.inc.php Datenbankkonfigurationsdatei

config.cache.bak.php Hintergrundsystemkonfigurationssicherung

config.cache.inc.php Backend-Systemkonfigurationsdatei-Cache

downmix.data.php-Sammlung verschleierte Cache-Datei

mysql_error_track.inc MYSQL-Fehlerprotokoll

safequestions.php Sicherheit Fragen

Sitemap.html Sitemap

sys_pay.cache.php Payment Gateway-Konfiguration

template.rand.php Zufällige Vorlageneinstellungen

……

· DedeCMS-Datenbankstrukturanalyse, zumindest mit der Rolle jeder Tabelle vertraut sein

Mit der Rolle jeder Tabelle vertraut sein, das Design mehrerer Kerntabellen und die Bedeutung von Feldern verstehen, damit es funktioniert ist leicht zu bekommen. Nachdem neue Anforderungen erfüllt sind, können Sie schnell entscheiden, ob Sie

Absätze hinzufügen oder eine neue Tabelle zur Verarbeitung erstellen möchten. Gleichzeitig können Sie auch die Datenbankdesignideen von DedeCMS verstehen und Ihrem eigenen System nützliche Designideen hinzufügen.

 · DedeCMS-Prozesskontrolle und Analyse einiger Kerndateien

Vertraut mit einigen gängigen Prozesskontrollen wie Anmeldung, Registrierung, Dokumentenverwaltung, Berechtigungskontrolle, Klassifizierungsverwaltung, Modelleinstellungen usw.

Untersuchen Sie mehrere Kerndateien, um ihre Programmierkenntnisse und Sicherheitsmechanismen zu verstehen

· Entwicklung von DedeCMS-Plug-Ins (**** Plug-Ins und eingebettete Plug-Ins)

Vertraut mit dem Schreiben von zwei Plug-Ins, dem Import und Export von Plug-Ins und der Verwendung von Plug-In-Matching-Modellen

 ◆Ecshop-Sekundärentwicklung

Erfahren Sie mehr über die sekundäre Entwicklungsmethode von EcShop

In den letzten Jahren ist mit der Entwicklung des Internets auch der E-Commerce sowie der B2B-, C2C- und B2C-E-Commerce gewachsen Auch die Modelle sind weiter ausgereift. Zu dieser Zeit brachte

viele E-Commerce-bezogene PHP-Open-Source-Produkte hervor. Im B2C-Bereich gibt es im In- und Ausland bekannte Produkte wie Ecshop, Zencart, Magento usw.

Lassen Sie uns kurz den Prozess des Erlernens der Ecshop-Sekundärentwicklung und einige Dinge vorstellen, auf die Sie achten sollten:

Die notwendige Grundlage für die Ecshop-Sekundärentwicklung:

· Sehr vertraut mit HTML

· Vertraut mit dem Layout von p+CSS

 · Solide PHP-Grundlagen, vertraut mit strukturierter Programmierung, verstehen OOP und können

· Vertraut mit der Smarty-Template-Engine

· Vertraut mit MYSQL und der SQL-Sprache

· Ecshop-Sekundärentwicklungs-Lernprozess

· Vertraut mit den Grundlagen Konzepte des E-Commerce

 · Machen Sie sich mit den Grundfunktionen von EcShop vertraut (Produkttypen, Produktkategorien, Produktattributeinstellungen, Verwendung von Werbeaktivitäten usw.)

 · Beherrschen Sie die Datenbankstruktur und Datenbankdesignideen von Ecshop

· Vertraut mit dem ER-Modell, der Einrichtung von Entitäten und Beziehungen

Vertraut mit der Rolle jeder Tabelle, verstehen Sie das Design mehrerer Kerntabellen und deren Bedeutung Felder, sodass Sie schnell beurteilen können, ob Sie neue Anforderungen hinzufügen

oder eine neue Tabelle zur Verarbeitung erstellen müssen. Gleichzeitig können Sie auch die Datenbankdesignideen von Ecshop verstehen und Ihrem eigenen System nützliche Designideen hinzufügen

· Dateistrukturanalyse und Codeanalyse

Vertraut mit einigen Anmelde-, Registrierungs- und Dokumentenverwaltungsfunktionen , Berechtigungskontrolle, Klassifizierungsverwaltung, Warentyp und andere allgemeine Prozesskontrollen.

Untersuchen Sie mehrere Kerndateien, um ihre Programmierkenntnisse und Sicherheitsmechanismen zu verstehen

· Ecshop-Dateistrukturanalyse:

includescls_captcha.php: Verifizierungscode-Bildklasse

Includescls_ecshop.php: Basisklasse

includescls_ecshop.php(56): Methode zur Passwortkompilierung;

includescls_rss.php: RSS-Klasse

includescls_smtp.php: SMTP-Mail-Klasse

Includesinc_constant.php: Konstante

Includesinit.php: gemeinsame Front-End-Datei

Includeslib_common.php: gemeinsame Funktionsbibliothek

Includeslib_goodscat.php: Front-End Öffentliche Funktionsbibliothek

Includeslib_insert.php: Funktionsbibliothek für dynamische Inhalte

Includeslib_main.php: Öffentliche Front-End-Funktionsbibliothek

Includeslib_paid.php: Funktionsbibliothek für Zahlungsschnittstellen

Includesiconvcls_iconv.php: Zeichensatzkonvertierungsklasse

Includesipcls_ip.php: IP-Standortabfrageklasse

Includesmodulesintegratesdiscuz.php: Mitgliedsdatenverarbeitungsklasse

Includesmodulesintegratesecshop.php: Mitglied Datenverarbeitungsklasse

Ersetzen von Ecshop-Vorlagen

Vertraut mit der Verwendung der optimierten Version von Smarty, Einbetten Ihrer eigenen Schnittstelle, Fähigkeiten zum Ersetzen von EcShop-Vorlagen

Beispiele für die Sekundärentwicklung von Ecshop

Die Funktion zum Umschalten zwischen Chinesisch und Englisch, die Flash-Sale-Funktion, die Erstellung von JD.com-Vorlagen usw.

Lernziele:

1 . Wird Ecshop für die sekundäre Entwicklung verwenden

 2. Wird zu gewöhnlichen Vorlagen wechseln und einige Funktionen ändern

 3. Lernen Sie aus der Entwicklungserfahrung im Inneren

Beherrschen Sie das Grundwissen-》 Imitieren Sie einige Schreibmethoden im Inneren: „Ändern Sie das Muster im Inneren (bilden Sie Ihr eigenes Entwicklungsmuster)“

Beherrschen Sie die Programmierkenntnisse und Systemdesignfähigkeiten in Ecshop

◆Caching-Technologieanalyse

Allgemeine PHP-Caching-Technologieanalyse [Konzeptversion]

In den meisten Fällen verwendet unsere Website eine Datenbank als Container zur Speicherung der Website-Daten. Wenn Sie eine SQL-Abfrage ausführen, ist der typische Vorgang: Herstellen einer Verbindung zur Datenbank - > Vorbereiten der SQL-Abfrage - > Senden der von der Datenbank zurückgegebenen Ergebnisse - > Einige Daten in der Datenbank

sind jedoch völlig statisch oder ändern sich nur selten. Das Caching-System speichert die Ergebnisse der SQL-Abfrage in einem schnelleren Speichersystem

, wodurch die Vermeidung häufiger Datenbankoperationen erheblich verbessert wird Die Ausführungszeit des Programms verkürzt sich, und die Zwischenspeicherung der Abfrageergebnisse ermöglicht Ihnen auch deren spätere Verarbeitung.

Häufig verwendete Caching-Technologie

Datencache: Der hier erwähnte Datencache bezieht sich auf den Datenbankabfragecache. Bei jedem Zugriff auf eine Seite werden zuerst die entsprechenden zwischengespeicherten Daten erkannt

existiert. Wenn es nicht existiert, stellen Sie eine Verbindung zur Datenbank her, rufen Sie die Daten ab, serialisieren Sie die Abfrageergebnisse und speichern Sie sie in der Datei

. In Zukunft werden dieselben Abfrageergebnisse direkt abgerufen die Cache-Datei.

Seiten-Cache:

Bei jedem Zugriff auf eine Seite wird zunächst geprüft, ob die entsprechende zwischengespeicherte Seitendatei vorhanden ist. Wenn sie nicht vorhanden ist, stellen Sie eine Verbindung zur Datenbank her und rufen Sie die Daten ab 🎜>

Zeigen Sie die Seite an und generieren Sie gleichzeitig eine zwischengespeicherte Auslagerungsdatei, sodass die Auslagerungsdatei beim nächsten Besuch wirksam wird. (Template Engines und einige gängige

Cache-Klassen verfügen normalerweise über diese Funktion)

Speichercache:

Ich werde es hier nicht vorstellen. Eine kurze Erwähnung:

Memcached ist ein leistungsstarkes, verteiltes Speicherobjekt-Caching-System, das zur Reduzierung der Datenbanklast und zur Verbesserung der Zugriffsgeschwindigkeit in dynamischen Anwendungen verwendet wird.

dbcached ist ein verteiltes Schlüsselwert-Datenbankspeicher-Cache-System, das auf Memcached und NMDB basiert.

Obwohl die oben genannte Caching-Technologie das Problem häufiger Datenbankabfragen gut lösen kann, besteht ihr Nachteil darin, dass die Daten nicht aktuell sind. Hier gebe ich die Methoden an, die ich im

-Projekt häufig verwende:

Zeitgesteuerter Cache:

Überprüfen Sie, ob die Datei vorhanden ist und der Zeitstempel kleiner als die festgelegte Ablaufzeit ist. Wenn der Zeitstempel der Dateiänderung kleiner als der aktuelle Zeitstempel minus dem Ablaufzeitstempel ist

Wenn es groß ist, verwenden Sie den Cache, andernfalls aktualisieren Sie den Cache.

Beurteilen Sie nicht, ob die Daten innerhalb der festgelegten Zeit aktualisiert werden müssen, sondern aktualisieren Sie den Cache nach der festgelegten Zeit. Das Obige ist nur für den Einsatz

geeignet, wenn die Aktualitätsanforderungen nicht hoch sind, andernfalls siehe unten.

Inhaltsgesteuertes Caching:

Wenn Daten eingefügt oder aktualisiert werden, wird eine Aktualisierung des Caches erzwungen.

Hier können wir sehen, dass, wenn eine große Datenmenge häufig aktualisiert werden muss, irgendwann Lese- und Schreibvorgänge auf der Festplatte erforderlich sind. Wie kann ich das Problem lösen? In meinen täglichen

-Projekten speichere ich normalerweise nicht den gesamten Inhalt, sondern einige Inhalte, die sich nicht häufig ändern, um das Problem zu lösen. Bei hoher Auslastung ist es jedoch am besten, gemeinsam genutzten

Speicher als Cache-System zu verwenden.

An diesem Punkt mag PHP-Caching eine Lösung sein, aber sein Nachteil besteht darin, dass das Effizienzproblem

unter hoher Last noch gravierender ist, da jede Anfrage immer noch von PHP analysiert werden muss als die Effizienz. In diesem Fall kann statisches Caching verwendet werden.

Statischer Cache

Der hier erwähnte statische Cache bezieht sich auf den HTML-Cache, bei dem im Allgemeinen nicht festgestellt werden muss, ob die Daten aktualisiert werden müssen, da er normalerweise in dem Bereich verwendet wird, in dem HTML vorhanden ist wird verwendet

Im Allgemeinen Seiten, deren Inhalt sich nicht häufig ändert. Wenn die Daten aktualisiert werden, erzwingen Sie einfach die Aktualisierung des HTML-Codes.

Tatsächlich bringt ein Caching-System viele Probleme mit sich. Ich werde hier nur meine üblichen Caching-Ideen vorstellen und nicht die Verwendung von Software vorstellen, um

Caching zu implementieren und spezifische Codes zu schreiben.

Wenn Sie gute Lösungen haben, reichen Sie diese bitte unten ein und lassen Sie uns diese gemeinsam besprechen.

 ◆PHP verwendet Funktionsaufrufbefehle

 PHP verwendet Funktionen wie exec und system, um Systembefehle aufzurufen

 PHPs integrierte Funktionen exec und system Es können Systembefehle (Shell-Befehle) und natürlich Durchgangsfunktionen, Escapeshellcmd und andere Funktionen aufgerufen werden.

In vielen Fällen kann uns die Verwendung der Exec-, System- und anderen Funktionen von PHP zum Aufrufen von Systembefehlen dabei helfen, unsere Arbeit besser und schneller abzuschließen. Beispielsweise hat mir der Autor

exec vor zwei Tagen bei der Stapelverarbeitung von .rar-Dateien sehr geholfen.

Heute werde ich die häufig verwendeten Anrufsystemfunktionen sortieren und meine Erfahrungen mit allen teilen.

Hinweis: Wenn Sie diese beiden Funktionen nutzen möchten, muss der abgesicherte Modus in php.ini ausgeschaltet sein, da PHP sonst aus Sicherheitsgründen den Aufruf des Systembefehls

nicht zulässt.

Schauen wir uns zunächst die Erklärung dieser beiden Funktionen im PHP-Handbuch an:

exec --- externe Programme ausführen

Syntax: string exec ( string command [, array &output [ , int &return_var]] )

 Erklärung:

 exec() führt den angegebenen Befehl aus, gibt aber nichts aus, sondern gibt einfach die letzte Zeile des Ergebnisses zurück des Befehls, z. B.

Wenn Sie einen Befehl ausführen und alle Daten aus dem Befehl abrufen müssen, können Sie die Funktion passhru() verwenden.

Wenn das Parameter-Array angegeben ist, wird das angegebene Array mit jeder vom Befehl ausgegebenen Zeile gefüllt. Hinweis: Wenn das Array zuvor einige

-Elemente enthält, wird es angehängt Wenn Sie nicht möchten, dass diese Funktion Elemente anhängt, können Sie unset() aufrufen, bevor Sie das Array an

exec() übergeben.

Wenn die Parameter array und return_var angegeben sind, wird der zurückgegebene Statusbefehl in diese Variable geschrieben.

Hinweis: Wenn Sie zulassen, dass Daten aus Benutzereingaben an diese Funktion übergeben werden, sollten Sie escapeshellcmd() verwenden, um sicherzustellen, dass

dieser Benutzer das System nicht dazu verleiten kann, einen willkürlichen Befehl auszuführen.

HINWEIS: Wenn Sie mit dieser Funktion ein Programm starten und es verlassen möchten, während es im Hintergrund läuft, müssen Sie

dafür sorgen, dass die Ausgabe des Programms umgeleitet wird eine Datei oder einen Ausgabedatenstrom, andernfalls bleibt PHP hängen, bis die Programmausführung

endet.

System --- Externe Programme ausführen und Ausgabe anzeigen

Syntax: string system ( string command [, int &return_var] )

Beschreibung:

system ( ) Führen Sie den angegebenen Befehl aus und geben Sie das Ergebnis aus. Wenn der Parameter return_var angegeben ist, wird der Statuscode des ausgeführten Befehls in diese Variable geschrieben.

Hinweis: Wenn Sie zulassen, dass Daten aus Benutzereingaben an diese Funktion übergeben werden, sollten Sie escapeshellcmd() verwenden, um sicherzustellen, dass

dieser Benutzer das System nicht dazu verleiten kann, einen willkürlichen Befehl auszuführen.

HINWEIS: Wenn Sie diese Funktion zum Starten eines Programms verwenden und es verlassen möchten, während es im Hintergrund läuft, müssen Sie

sicherstellen, dass die Ausgabe des Programms umgeleitet wird eine Datei oder einen Ausgabedatenstrom, andernfalls bleibt PHP hängen, bis die Programmausführung

endet.

Wenn PHP als Servermodul läuft, versucht system(), den Ausgabepuffer des Webservers nach der Ausgabe jeder Zeile automatisch zu löschen.

Gibt bei Erfolg die letzte Zeile des Befehls zurück, bei Fehlschlag „false“.

Wenn Sie einen Befehl ausführen und alle Daten aus dem Befehl abrufen müssen, können Sie die Funktion passhru() verwenden.

Beide werden zum Aufrufen von System-Shell-Befehlen verwendet.

Der Unterschied:

exec kann alle Ausführungsergebnisse an die $output-Funktion (Array) zurückgeben, $status ist der Status der Ausführung, 0 ist Erfolg, 1 ist Fehler

Systerm muss die $output-Funktion nicht bereitstellen, es gibt das Ergebnis direkt zurück, ähnlich ist $return_var der Statuscode der Ausführung, 0 ist Erfolg, 1 ist

Zum Scheitern

 ◆Über Open Source

Der größte Erfolg von Open Source kommt aus dem Web

Die Open-Source-Bewegung erfreut sich großer Beliebtheit und hat hat einen starken Eindruck in der Geschichte der Softwareentwicklung hinterlassen. Aber wo ist die weitreichendste Auswirkung? Was ist das

erfolgreichste Open-Source-„Projekt“ der Geschichte

Ist das Web insgesamt nicht eine Open-Source-Bewegung? Der größte Erfolg?

Das wohl bekannteste Beispiel ist LAMP hinter vielen Websites in versteckten Domänen, nämlich Linux, Apache, MySQL und PHP. Aber wenn Sie

sorgfältig darüber nachdenken, werden Sie mehr finden.

Nachfolgend sind einige Open-Source-Projekte aufgeführt, die dafür sorgen, dass das Web funktioniert.

  Webbrowser - Webbrowser

Obwohl Microsofts Closed-Source-Software IE-Browser immer noch einen großen Anteil am Webbrowser-Markt einnimmt, gibt es andere Open-Source-Projekte mit ähnlichen Funktionen

Hat erfreut sich großer Beliebtheit und wächst weiter. Wie Mozillas Firefox-Browser (er ist Open Source, ebenso wie Flock und PaleMoon). Es gibt auch schnell wachsende Webkit-basierte Browser wie Safari, der bekannteste ist jedoch Chrome.

Wenn man Mobilfunknetze mit einbezieht, dominiert Webkit die Browser in iPhone-, Android- und Blackberry-Telefonen.

  Webserver-Software-Webserver-Software

Bisher ist Apache die am weitesten verbreitete Netzwerkserversoftware. Es ist Open Source, aber eine leichte Serversoftware namens Nginx

Stücke sind in den letzten Jahren populär geworden. Tatsächlich sind zwei der drei Top-Webserversoftware Open Source (mit Ausnahme von Microsoft IIS, das zwar an zweiter Stelle steht, aber bei weitem nicht an erster Stelle steht).

Darüber hinaus ist auch eine große Anzahl serverseitig zugrunde liegender Software Open Source. Beispielsweise verwenden viele stark frequentierte Websites Varnish als Caching-Schicht zwischen Website-Besuchern und Memcached als Caching-Schicht zwischen Website-Datenbanken. Dies sind nur zwei von vielen Beispielen.

 Skriptsprachen und Web-Frameworks – Skriptsprachen und Web-Frameworks

Die meisten im Internet verwendeten Programmier- und Skriptsprachen sind Open Source, wie PHP, Perl, Python, Ruby usw.

Allerdings werden nur wenige Websites komplett von Grund auf neu erstellt. Es ist keine Übertreibung zu sagen, dass es Hunderte von Open-Source-Content-Management-Systemen (CMS) und Web-Frameworks

gibt, die Entwickler unterstützen, wie WordPress, Drupal, Ruby on Rails, Django, Joomla, DedeCMS, Ecshop, usw. .

Datenbanken-Datenbank

Die Open-Source-Software MySQL ist mit Abstand die beliebteste Website-Datenbank, aber es gibt auch andere Open-Source-Software mit ähnlichen Funktionen, wie zum Beispiel PostgreSQL, ganz zu schweigen von den vielen kürzlich erschienenen „nicht-relationalen (NoSQL)“-Datenbanken .

Da wir nun über die zugrunde liegende Software sprechen, müssen wir das grundlegende

System erwähnen, auf das wir uns jedes Mal verlassen, wenn wir das Internet oder irgendetwas im Internet nutzen:

DNS – Domain Name Resolution System

Das Web (im Übrigen das gesamte Internet) ist nichts ohne das Domain Name Resolution System. Wie wir alle wissen, ermöglicht das System zur Auflösung von Domänennamen Benutzern die Verwendung von

-Domänennamen wie example.com anstelle von IP-Adressen. BIND ist so ziemlich der De-facto-Standard für DNS-Server-Software (auch Nameserver genannt) und, wie Sie

inzwischen vielleicht erraten haben, Open Source.

 Server-Betriebssysteme-Server-Betriebssysteme

 Alle Websites müssen auf Servern laufen, und hier herrscht Open Source. Obwohl Windows den Desktop-Bereich dominiert, verwenden die meisten Server, auf denen Websites ausgeführt werden,

das Open-Source-Betriebssystem Linux. Weitere beliebte Optionen sind FreeBSD und OpenBSD.

Die Versuchung von Open Source

Denn in vielen Fällen kann Open-Source-Software die gleiche Leistung wie kommerzielle Closed-Source-Software bieten und ist kostenlos, also Open-Source-Software

Das ist es Kein Wunder, dass es so beliebt ist. Kostenlos ist ein schwer zu schlagender Preis.

Wenn das Web nicht auf all dieser kostenlosen Software laufen würde, hätte es wahrscheinlich Schwierigkeiten, sich allgemein durchzusetzen.

Beachten Sie, dass wir nicht gesagt haben, dass es im Web keine Closed-Source-Software gibt, die es offensichtlich gibt. Aus statistischer Sicht ist die eigentliche Ausnahme in der Dominanz von Web-Open-Source jedoch die Windows-basierte Systemreihe von Microsoft.

Darüber hinaus muss man in der Regel tiefer graben, um weitere proprietäre Closed-Source-Technologien zu finden, wie die Betriebssysteme auf Routern und ähnlichen Geräten. Aber das

ist das Internet, nicht das Web.

Das obige ist der detaillierte Inhalt vonEine detaillierte Einführung in die beste Sekundärentwicklung von cms. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn