24 Bibliotheken, die PHP-Entwickler kennen sollten
Es ist eine aufregende Zeit, ein PHP-Entwickler zu sein. Täglich werden unzählige nützliche Bibliotheken verteilt, die auf Github leicht zu entdecken und zu verwenden sind. Unten sind 24 der coolsten Bibliotheken, die ich je gesehen habe. Ist Ihre Lieblingsbibliothek nicht auf dieser Liste? Dann teile es in den Kommentaren!
1. Dispatch – Mikro-Framework
Dispatch ist ein kleines PHP-Framework. Sie erhalten damit kein vollständiges MVC-Setup, aber Sie können URL-Regeln und -Methoden definieren, um Ihre Anwendung besser zu organisieren. Dies ist perfekt für APIs, einfache Websites oder Prototypen.
345 6
8 9
|
//Bibliothek einschließen include 'dispatch.php' ; // Definieren Sie Ihre Route get( <code>'/greet' ,
function () {
//Ansicht rendern render( 'greet-form' ); }) ; //post processing post( '/greet' ,
function () { $name = from( $_POST ,
'name' );
// eine Ansicht rendern, während man an einigen Einheimischen vorbeifährt code><code> render( 'greet-show' ,
array ( 'name' => $name ));}); // Ihre Website bedienen dispatch();
|
1 23 |
respond( '/[:name]' ,
function ( $request ) { echo 'Hallo ' $request ->name; });
|
12 34567891011121314 |
antworten( 'GET' ,
'/posts' , $callback ); antworten( 'POST' ,
'/posts/create' , $callback ); respond('PUT' ,
'/posts/[i:id]' , $callback ); respond( 'DELETE' ,
'/posts/[i:id]' , $callback ); //Mehrere Anforderungsmethoden abgleichen: respond( array ( 'POST', 'GET' ),
$route , $callback ); // Möglicherweise möchten Sie auch Anfragen an derselben Stelle bearbeiten respond( '/posts/[create|edit:action] /[i:id] ' ,
function ( $request ,
$response ) { switch ( $request ->action) { // etwas tun } });
|
Das ist großartig für kleine Projekte, aber wenn Sie eine solche Bibliothek für eine große Anwendung verwenden, müssen Sie die Regeln befolgen, da sich Ihr Code schnell ändern und nicht wartbar sein kann. Entscheiden Sie sich also besser für ein ausgereiftes Framework wie Laravel oder CodeIgniter.
3. Ham – Routing-Bibliothek mit Cache
Ham ist ebenfalls ein leichtes Routing-Framework, nutzt jedoch Caching, um noch schnellere Geschwindigkeiten zu erreichen. Dies geschieht durch Zwischenspeichern aller E/A-bezogenen Vorgänge in XCache/APC. Hier ist ein Beispiel:
6
|
require '../ham/ham.php ' ; $app = new Ham(<code>'example' ); $app ->config_from_file( 'settings.php'); $app ->route( '/schweinefleisch' ,
function ( $app ) { return "Köstliches Schweinefleisch." ; }); $hello = function ( $app ,
$name = 'world' ) { <code>return $app ->render( 'hello.html' ,
array ( 'name' => ,
$hello ); $app ->run();
|
12 34567891011 |
use AsseticAssetAssetCollection; useAsseticAssetFileAsset; use AsseticAssetGlobAsset; $js = new AssetCollection( array ( new GlobAsset( '/path/to/js/*' ), new FileAsset( '/path/to/another.js' ), )); //Wenn die Ressource ausgegeben wird, wird der Code zusammengeführt echo $js ->dump();
|
Die Kombination von Ressourcen auf diese Weise ist eine gute Idee, da sie die Website beschleunigen kann. Es wird nicht nur das gesamte Download-Volumen reduziert, sondern auch eine große Anzahl unnötiger HTTP-Anfragen eliminiert (das sind die beiden Dinge, die die Seitenladezeit am meisten beeinflussen)
5. ImageWorkshop – Bildverarbeitung mit Ebenen
ImageWorkshop ist eine Open-Source-Bibliothek, mit der Sie mehrschichtige Bilder bearbeiten können. Damit können Sie die Größe ändern, zuschneiden, Miniaturansichten erstellen, Wasserzeichen hinzufügen und vieles mehr. Hier ist ein Beispiel:
6
8 9 10 11 |
// Initialisiere die norway-Ebene aus dem norway.jpg-Bild $norwayLayer = ImageWorkshop::initFromPath( '/path/to/images/norway.jpg' );
// Initialisieren Sie die Wasserzeichenebene (Wasserzeichenebene) aus dem Bild „watermark.png“ $watermarkLayer = ImageWorkshop::initFromPath( '/path/to/images/watermark.png' );
$image = $norwayLayer ->getResult();
// Dies ist das generierte Bild! header( 'Content-type: image/jpeg' ); imagejpeg( $image , null, 95);
// Wir zeigen ein JPG mit einer Qualität von 95 % exit ; |
1 2345678910111213 |
require_once '/path/to/snappy/src/autoload.php' ;
use KnpSnappyPdf; //Initialisieren Sie die Bibliothek über den wkhtmltopdf-Binärpfad $snappy = new Pdf( '/usr/local/bin /wkhtmltopdf ' );
//PDF im Browser anzeigen, indem der Content-Type-Header auf pdf gesetzt wird header( 'Content-Type: application/pdf' ); header( 'Content-Disposition: attachment; filename= "file.pdf"' );
echo $snappy ->getOutput( 'http://www.github .com' );
|
1234567 89101112131415 161718 |
$user = ORM::for_table( 'user' ) ->where_equal( code>
|
Idiorm hat eine Schwesterbibliothek namens Paris, bei der es sich um eine Active Record-Implementierung basierend auf Idiorm handelt.
8. Underscore – ein Toolgürtel für PHP
Underscore ist eine Schnittstelle zum ursprünglichen Underscore.js – ein Toolgürtel für Javascript-Anwendungen. Die PHP-Version enttäuscht nicht und unterstützt fast alle nativen Funktionen. Hier sind einige Beispiele:
6
8 9 10 11
|
__: :each( array (1, 2, 3),
function ( $num ) {
echo $num ',' <code>// 1,2,3, $multiplier = 2; __::each( array (1, 2, 3),
function ( $num ,
$index ) use ( $multiplier ) { echo $index '='<code>. ( $num * $multiplier ) .
',' ; }); // druckt : 0=2,1=4,2=6, __::reduce( array (1, 2 , 3),
function ( $memo ,
$num ) { return $memo + $num ; }, 0);
// 6 __::find( array (1, 2, 3, 4),
function ( $num ) {
return $num % 2 === 0; // 2 __::filter( array (1, 2, 3, 4),
function ( $num ) {
return $num % 2 === 0 }); /code>
|
123456789101112 |
$headers = array ( 'Accept' => 'application/json' ); $options<code>= array ( 'auth' => array ( 'user' ,
'pass' )); $request = Requests::get( code><code>'https://api.github.com/gists' ,
$headers , $options ); var_dump( $request ->status_code); // int(200) var_dump( $request ->headers[ 'content-type' ]);
|
12345678 |
$request = new BuzzMessageRequest( 'HEAD' ,
'/' , 'http://google.com' ); $response = new BuzzMessageResponse(); $client = new BuzzClientFileGetContents(); $client - >send( $request ,
$response ); echo $request ;<code>echo $response ;
|
Da es keine Dokumentation gibt, müssen Sie den Quellcode lesen, um alle unterstützten Parameter zu erfahren.
11. Goutte – Web-Scraping-Bibliothek
Goutte ist eine Bibliothek zum Scraping von Websites und zum Extrahieren von Daten. Es bietet eine elegante API, die die Auswahl bestimmter Elemente von Remote-Seiten vereinfacht.
34 5
|
require_once '/path/to/goutte.phar' use GoutteClient; $client = new Client(); code> code><code>$crawler = $client ->request( ' GET' ,
'http://www.symfony-project.org/' );
//Klicken Sie auf den Link $link = $crawler ->selectLink( 'Plugins' )->link(); $ crawler = $client ->click( $link );
//Verwenden Sie eine CSS-ähnliche Syntax, um Daten zu extrahieren $t = $crawler->filter( '#data' )->text();
echo "Hier ist der Text: $t" ; code> td> |
12 34567891011121314151617181920212223 2425 |
printf( "Im Moment ist %s" , Carbon::now()->toDateTimeString()); printf( "Derzeit ist %s in Vancouver" , Carbon::now( 'America/Vancouver' )); $tomorrow = Carbon::now()->addDay(); $lastWeek = Carbon::now()->subWeek (); $nextSummerOlympics = Carbon::createFromDate(2012)->addYears(4); $officialDate = Carbon::now()->toRFC2822String(); $howOldAmI = Carbon::createFromDate(1975, 5, 21)->age; $noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London' ); $endOfWorld = Carbon::createFromDate(2012 , 12, 21, 'GMT' ); //Immer mit UTC vergleichen if (Carbon::now()->gte( $endOfWorld )) { die (); } if (Carbon::now()->isWeekend()) { echo code>'Party!' ; } echo Carbon::now()->subMinutes(2)->diffForHumans(); // 'vor 2 Minuten'
|
13. Ubench – Mikro-Benchmark-Bibliothek
Ubench ist eine Mikrobibliothek zur Auswertung von PHP-Code, zur Überwachung der (Code-)Ausführungszeit und der Speichernutzung. Hier ist ein Beispiel:
6
8 9 10 11
|
use UbenchUbench; $bench = new Ubench;$bench ->start(); //Führen Sie einige aus code $bench -> end (); //Ausführungszeit und Speicher abrufen echo $bench ->getTime() ; // 156ms oder 1,123s echo $bench ->getTime(true ); // verstrichene Mikrozeit in Float echo $bench ->getTime( false, '%d%s' );
// 156ms oder 1s echo $bench ->getMemoryPeak( $bench ->getMemoryUsage(); // 152B oder 90,00 KB oder 15,23 MB
|
12 34567891011121314151617181920 |
use RespectValidationValidator as v; //Einfache Überprüfung $number = 123; v::numeric()->validate( $number );
//true //Kettenüberprüfung $usernameValidator = v::alnum()->noWhitespace()->length(1,15); $usernameValidator ->validate(
|
12345 |
$f = Filter::factory( 'string,max:5' ); $str = 'Dies ist eine Testzeichenfolge' ;
$f ->validate( $str );
// false $f ->filter( $str );
// 'This '
|
Filterus verfügt über viele integrierte Modi, unterstützt die Verwendung von Ketten und kann sogar unabhängige Validierungsregeln zur Validierung von Array-Elementen verwenden.
16. Faker - Fake Data Generator
Faker ist eine PHP-Bibliothek, die gefälschte Daten für Sie generiert. Dies ist praktisch, wenn Sie eine Testdatenbank füllen oder Testdaten für Ihre Webanwendung generieren müssen. Es ist auch sehr einfach zu verwenden:
6
8 9 10 11
|
//Reference Faker Autoloader require_once '/path/to/Faker/src / autoload.php' ; //Verwenden Sie die Factory-Erstellung, um eine FakerGenerator-Instanz zu erstellen $ faker = FakerFactory::create(); //Generieren Sie gefälschte Daten durch Zugriff auf Eigenschaften echo $faker ->name; // 'Lucy Cechtelar'; echo <code>$faker ->address; // "426 Jordy Lodge // Cartwrightshire, SC 88120-6700" echo $faker / code>
|
12 |
$m = new Mustache_Engine; echo $m ->render( 'Hallo {{planet}}' ,
array ( 'planet' => 'World!' ));
// „Hallo Welt!“
|
12 34567891011121314151617 |
use GaufretteFilesystem; use GaufretteAdapterFtp as FtpAdapter; use GaufretteAdapterLocal as LocalAdapter; //Lokale Datei: $adapter = new LocalAdapter( '/var/media' );
//Optional einen FTP-Adapter verwenden // $ftp = new FtpAdapter($path, $host, $ username, $passwort, $port);
//Dateisystem initialisieren $filesystem = new<code>Filesystem( $adapter );
//Verwenden Sie es $content = $filesystem 'Hallo, ich bin der neue Inhalt' ; $filesystem -> ;write( 'myFile' ,
$content );
|
Es gibt auch Cache- und Speicheradapter, weitere werden später hinzugefügt.
19. Omnipay – Zahlungsverarbeitungsbibliothek
Omnipay ist eine PHP-Zahlungsverarbeitungsbibliothek. Es verfügt über eine klare und konsistente API und unterstützt Dutzende Gateways. Mit dieser Bibliothek müssen Sie lediglich eine API erlernen und mit verschiedenen Zahlungsabwicklern umgehen. Hier ist ein Beispiel:
6
|
use OmnipayCreditCard; use OmnipayGatewayFactory; $gateway = GatewayFactory::create ( 'Stripe' ); $gateway ->setApiKey( 'abc123' ); $formData = [ 'number' => '4111111111111111' ,
'expiryMonth' =>
'expiryYear' => $response = $gateway ->purchase([ 'amount' => 1000, 'card' => $formData ]); if ( $response ->isSuccessful()) {
//Zahlung erfolgreich: Datenbank aktualisieren print_r( $response ); } elseif ( $response ->isRedirect()) {
//Zum Remote-Zahlungsgateway springen $response ->redirect();<code>} else { //Zahlung fehlgeschlagen: Informationen für den Kunden anzeigen exit ( code><code>exit code><code>$response ->getMessage()); }
|
12 34567891011121314151617181920 |
$storage = new UploadStorageFileSystem( '/path/to/directory' ); $file = new UploadFile( 'foo' ,
$storage ); //Datei-Upload überprüfen $ file ->addValidations( array (
/ /Stellen Sie sicher, dass der Dateityp „image/png“ ist new UploadValidationMimetype( ' image/png' ),
//Stellen Sie sicher, dass die Datei 5 MB nicht überschreitet (verwenden Sie „B“, „ K", "M" oder "G") new UploadValidationSize( '5M ' ) )); //Es wird versucht, eine Datei hochzuladen versuchen { //Erfolg $file ->upload(); } catch code><code>(Ausnahme $e ) { //Fehlgeschlagen!<code> $errors = $file ->getErrors( ); }
|
Es wird viel mühsamen Code reduzieren.
21. HTMLPurifier – HTML-XSS-Schutz
HTMLPurifier ist eine HTML-Filterbibliothek, die Ihren Code durch leistungsstarke Whitelisting- und Aggregationsanalysen vor XSS-Angriffen schützt. Es stellt außerdem sicher, dass das Ausgabe-Markup dem Standard entspricht. (Der Quellcode ist auf Github)
|
require_once '/path/to/HTMLPurifier.auto.php' ; $config = HTMLPurifier_Config::createDefault () ;
$purifier = new HTMLPurifier( $config );
$clean_html = $purifier -> ;purify( $dirty_html );
|
1 2 3 4 5 6 7 8 |
|
1234 567 |
use MischiefCollectiveColorJizzFormatsHex; $red_hex = new Hex(0xFF0000); code>$red_cmyk = $hex ->toCMYK(); echo $red_cmyk ; // 0,1,1,0 echo Hex::fromString( 'red' )->hue(-20)->greyscale();
// 555555
|
12 345678 |
Es funktioniert gut in Apps, die Geolokalisierungsdaten verwenden. Sie können versuchen, die HTML5-Standort-API, die Yahoo-API (oder beide, wie wir es im Tutorial zur Wetter-Web-App getan haben) zu übersetzen, um die Koordinaten zu erhalten.
24. ShellWrap – Schöner Befehlszeilen-Wrapper
Mit der ShellWrap-Bibliothek können Sie leistungsstarke Linux/Unix-Befehlszeilentools in PHP-Code verwenden.
34567891011121314151617181920212223 24252627 |
require ' ShellWrap.php' ; verwenden MrRioShellWrap as sh ; //Alle Dateien unter der aktuellen Datei auflisten echo sh::ls( ) ; //Schau dir einen Git-Zweig an sh::git( 'checkout' <code>,
'master' ); //Sie können die Ausgabe eines Befehls auch an einen anderen Befehl weiterleiten code>//Im Folgenden wird Curl verwendet, um den Standort zu verfolgen, und dann die „HTML“-Pipeline durch grep gefiltert, um die Website example.com herunterzuladen echosh::grep( 'html' , sh::curl( 'http:// example.com' code><code>,
array ( 'location' => true ))); //Eine neue Datei erstellen sh : :touch( 'file.html' );
//Datei entfernen sh::rm( 'file.html' code ><code>);
//Entfernen Sie die Datei erneut (diesmal schlug es fehl und dann wurde eine Ausnahme ausgelöst, weil die Datei nicht existierte) try<code>{ sh::rm( 'file.html' ); } catch (Ausnahme $e ) { echo 'Fehler beim Aufruf von sh::rm() erwischt' ;<code>}
|

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
