Was sind nette Anwendungsfälle für cURL in PHP?

9

Es ist offensichtlich, dass die cURL-Funktionen sehr weit verbreitet sind. Aber warum ist das? Ist es wirklich nur, weil die Erweiterung meistens standardmäßig aktiviert ist?

Obwohl ich mich sicherlich darauf beziehen kann, keine Bibliotheken von Drittanbietern über eingebaute (DOMDocument vs phpQuery) einzuführen, erscheint die Verwendung von curl etwas seltsam für mich. Es gibt viele HTTP-Bibliotheken wie Zend_Http oder PEAR Http_Request . Und trotz meiner Verachtung für unnötige objektorientierte Schnittstellen erscheint mir die Pull-Parameter-prozedurale API von curl im Vergleich weniger leserlich.

Dafür gibt es natürlich einen Grund. Aber ich frage mich, ob die meisten PHP-Entwickler erkennen, wofür sonst libcurl eigentlich verwendet werden kann und dass es nicht nur eine HTTP-Bibliothek ist ? ? ?

Haben Sie Beispiele oder tatsächlichen Code, der cURL für & lt; andere Dinge & gt; es wurde gemacht?

Oder wenn Sie es nur für HTTP verwenden, was sind die Gründe. Warum werden heutzutage echte PHP HTTP-Bibliotheken scheinbar vermieden?

    
mario 13.02.2011, 21:33
quelle

3 Antworten

2

Ich denke, das würde damit zusammenhängen, warum Leute die mysql-Funktionen anstelle von mysqli (mehr objektorientierte Schnittstelle) verwenden oder einen Schritt weiter gehen und eine Datenabstraktionsschicht oder PDOs verwenden.

HTTP_Request2 besagt, dass ein cURL-Adapter verfügbar ist, der die cURL-Funktionen von PHP umschließt.

Persönlich eine Menge der PEAR-Erweiterungen, die ich ausprobiert habe, war ich nicht so beeindruckt (und ich fühle mich weniger sicher mit PEAR-Bibliotheken, die in Alpha sitzen, die seit langer Zeit nicht mehr aktualisiert wurden). Während die HTTP_Request2-Bibliothek sieht ziemlich nett aus

Ich hätte zum Beispiel cURL verwendet, ohne darüber nachzudenken, eine mögliche PEAR-Bibliothek zu verwenden. Also danke, dass du mein Bewusstsein erhöht hast.

    
Jacob 13.02.2011 22:43
quelle
1

Die von Ihnen erwähnten Bibliotheken sind keine Standardbibliotheken, und aufgrund meiner Erfahrung in PHP bevorzuge ich weniger solcher Bibliotheken; Sie ermöglichen eine breitere Angriffsfläche, verringern die Zuverlässigkeit und sind offen für zukünftige Änderungen / Abwertungen mehr als PHP selbst.

Dann gibt es noch die Socket-Funktionalität, die ich, obwohl ich sie schon mehrmals benutzt habe, wenn immer möglich lieber auf eine höhere Ebene verlasse.

Wofür habe ich CURL benutzt?

Wie einige vielleicht wissen, arbeite ich gerade an einem PHP-Framework. Die Kommunikationskernerweiterung (entsprechend "connect" genannt) nutzt CURL als Basis.

Ich habe es weit verbreitet verwendet, von Favicons von Websites (zusammen mit Parser-Dienstprogrammen und Sachen) zu Standard-API-Aufrufe über HTTP sowie die FTP-Schicht, wenn PHPs FTP deaktiviert ist (durch Stream-Wrapper) - und wir alle wissen natives PHP FTP ist nicht so zuverlässig.

    
Christian 18.03.2011 22:03
quelle
0

Funktionelle Gründe wie in den Kommentaren erwähnt:

  • Es ist sehr alt, [ weit verbreiteter und] gut getesteter Code, funktioniert zuverlässig
  • ist normalerweise standardmäßig aktiviert
  • ermöglicht eine sehr feinkörnige Kontrolle über die Details der Anfrage.
    • Dies muss möglicherweise erweitert werden. Aufgrund der Natur des Common-Denominator-Protokolls kann die API cURL Funktionen bereitstellen, die einfache HTTP-Bibliotheken in PHP nicht können ...

Historische Gründe:

  • curl war früher die einzige Sache, die mit Cookies, POST, Dateiuploads umgehen konnte ...
  • Eine Menge Curl-Verwendung kommt wahrscheinlich von Tutorials, die PHP 5 vorausgehen .
mario 14.02.2011 00:13
quelle

Tags und Links