2016-08-10 3 views
3

php war ein schönes Experiment, aber die Sprache scheint minderwertig. also denke ich daran, meine bescheidene Codebasis von PHP in Perl zu konvertieren.

aber einige PHP-Aspekte sind es wert, zu behalten - wenn nur um Code-Übersetzung zu erleichtern. Die wichtigsten sind $_SERVER, $_POST, $_GET und insbesondere $_SESSION.

start_session() und dann die $_SESSION Hash (ähem, assoziative Array) haben unmittelbare Zuweisbarkeit. Die CGI :: Session von Perl6 hat einen großen Teil der Funktionalität, aber nicht die gleiche Syntax. Ich nehme an, dass CGI :: Session immer noch das häufigste und störungsfreie Modul ist. Ich denke, ich brauche etwas wie

our $_SESSION; 
## iterate over the session; docs don't say how; maybe 
foreach ($session->param) { $_SESSION[$_]= session->param($_); } 
## and now trap all deaths to call save_param 

oder vielleicht eine Krawatte Funktionalität? oder existiert das bereits als ein anderes Modul als CGI :: Session ?!

Beratung geschätzt.

/IAW

+4

Während ich Ihren Mut salutiere, versuchen Sie zu vermeiden, das Rad neu zu erfinden. Frameworks wie [Mojolicious] (http://mojolicious.org) und [Catalyst] (http://www.catalystframeframework.org) sind bereits implementiert und einsatzbereit. Das Schreiben eines eigenen Frameworks mag lehrreich sein, aber die Ergebnisse sind oft unbrauchbar, weil es riskant ist, ungeprüften, nicht vertrauenswürdigen Code im öffentlichen Internet laufen zu lassen. – tadman

+0

ja für die Hauptarbeit. nein für den gelegentlichen Benutzer (wie ich), der es nur einmal pro Jahr für kleine Projekte benutzt. Es gibt zu viel zu lernen und zu erinnern. In solchen Fällen ist eine minimalistische Struktur besser. –

+1

Ich kann nicht helfen, aber beachten Sie, dass einige Anfänger Programmierer in PHP (yikes) durch die einfachen Anfänge gesaugt werden. Rahmenbedingungen sind ein früher Stopper. Ich kann keine php Vorteile gegenüber Perl anders als die leichtere Eingabe, wenn ohne Framework verwendet. –

Antwort

2

PHP als auf Websites verwendet, ist eine Sprache, und auch ein Web-Framework, wenn auch sehr einfach. Also, wenn Sie Perl wählen, müssen Sie auch eine Perl-Web-Bibliothek/Framework auswählen. Ich würde http://mojolicious.org/ persönlich empfehlen, aber Sie werden viel älteren Code mit CGI.pm sehen, der am Tag großartig war, aber in diesen Tagen sehr niedrig erscheinen wird.

Hier ist eine schöne kurze Zusammenfassung hier von alternatives to CGI.pm.

+0

mojolicious ist großartig, aber die Lernkurve ist hoch und die zugrundeliegende Codebasis ändert sich immer noch. Das Simulieren von $ _SESSION ist ein Ersatz auf sehr niedriger Ebene, der, zumindest für kleinere Projekte, nützlich sein kann. –

+0

Sie wollen 2016 wirklich nicht 'CGI.pm' verwenden. Es stammt aus einer Zeit, in der die Anforderungen wesentlich einfacher waren und die Menschen nicht darauf abzielten, Schaden anzurichten. – tadman

+0

Wie gesagt, ich empfehle keinen neuen Code, benutze das CGI.pm Modul in diesen Tagen, da es verglichen mit Mojo etc. so niedrig ist, aber das CGI.pm ist wahrscheinlich ziemlich sicher, aber ich wette sicherer als diese neueren Frameworks. Schauen Sie, wie viele Sicherheitsfixes es im Laufe der Jahre hatte –