Feng Ye hat bereits mehrere Jahre lang PHP-Forschung und -Entwicklung betrieben, von denen die meisten unter der Anleitung von Open-Source-Frameworks geschrieben wurden. Immer noch ist es mein Instinkt, ein bestimmtes PHP-Framework zu verwenden, um PHP-Anwendungen zu entwickeln. Das liegt auch daran, dass ich faul bin und mich nicht mit anderen Dingen als dem Framework befasst habe.
Was ich Ihnen heute sage, ist, dass ich, nachdem ich mich mit vielen PHP-Frameworks vertraut gemacht habe, festgestellt habe, dass es viele Funktionen gab, die von den Tools des Frameworks nicht unterstützt wurden, und dass ich keine andere Wahl hatte, als sie selbst zu schreiben suche sie draußen. Um das Rad so wenig wie möglich neu zu erfinden, bietet Ihnen Feng Ye heute ein praktischeres Tool, mit dem Sie einfach und schnell die gewünschten Funktionen finden und in Ihre PHP-Anwendung integrieren können.
Es ist eine Komponente.
Komponente ist gepackter Code, der Ihnen bei der Lösung eines bestimmten Problems in Ihrer PHP-Anwendung hilft. Klassen, Schnittstellen und Eigenschaften in Komponenten werden normalerweise im selben Namespace platziert.
Komponenten Die Rolle von Komponenten ist sehr einseitig. Erwarten Sie nicht, dass eine Komponente viele Probleme für Sie löst.
Eine Komponente kann eine PHP-Datei oder eine Klasse sein, was sehr einfach ist.
Verwenden Sie die richtigen Tools, um das Richtige zu tun, und hoffen Sie dennoch, ein kleines Projekt zu erstellen, das das Problem durch einige PHP-Komponenten löst, die auch dazu beitragen, den Code leichtgewichtig und flexibel zu halten . .
PHP-Komponenten finden wir unter //m.sbmmt.com/.
Wenn Sie daran interessiert sind, welche Komponenten von PHP besser sind, können Sie auch auf diesen Link klicken.
//m.sbmmt.com/
Dieser Link listet viele hervorragende PHP-Komponenten auf.
Wenn Sie eine Komponente benötigen, die sich auf HTTP-Anfragen bezieht, geben Sie „HTTP“ in das Suchfeld oben ein und drücken Sie die Eingabetaste. Daraufhin wird eine Liste der Komponenten angezeigt, die sich auf HTTP-Anfragen beziehen.
Ich empfehle Ihnen, die oben genannten Komponenten auf der Grundlage von Mundpropaganda auszuwählen. Wenn Sie es zu mühsam finden, folgen Sie einfach der Anzahl der Sterne, die informativer ist.
Die Verwendung von PHP-Komponenten muss zwei Probleme lösen: Abhängigkeitsmanagement und automatisches Laden. Natürlich verfügen wir auch über entsprechende Tools zur Lösung.
Composer ist ein Tool zum Installieren von PHP-Komponenten. Composer ist auch ein Abhängigkeitsmanager für PHP-Komponenten und wird auf der Befehlszeile ausgeführt.
Composer kann mit Packagist zusammenarbeiten. Wenn Sie Komponenten über Composer herunterladen müssen, erhält Composer die relevanten Komponenten über Packagist.
Composer spielt eine sehr wichtige Rolle und das automatische Laden wird Ihnen Kopfschmerzen bereiten. Aufgrund des Aufkommens von PSR-4 generiert der Abhängigkeitsmanager automatisch Dateien, die den PSR-Standards für alle PHP entsprechen Komponenten im Projekt. Composer löst das Problem des Abhängigkeitsmanagements und des automatischen Ladens.
Sie können es gemäß der offiziellen Dokumentation installieren: //m.sbmmt.com/
Was ich hier anbiete, ist Mac OS und Linux-Installationsmethode, ssh zum Remote-Computer und starten Sie die Installation problemlos.
$curl -sS //m.sbmmt.com/ | php $mv composer.phar /usr/local/bin/composer
Wenn Sie auf Berechtigungsprobleme stoßen, sudo bitte selbst. Geben wir den Composer-Befehl in die Befehlszeile ein und sehen uns den Effekt an.
#composer
Der folgende Bildschirm wird angezeigt und zeigt an, dass Sie Composer erfolgreich installiert haben.
Wenn Ihr Composer in einem schlechten Zustand ist, werden Sie daran erinnert, ein Upgrade durchzuführen. Geben Sie einfach den folgenden Befehl ein, um das Upgrade abzuschließen.
$composer self-update
Der Name der Komponente ist im Allgemeinen der Firmenname/Paketname. Beispielsweise ist in der gerade durch die Suche nach PHP in Packagist zurückgegebenen Liste „guzzle“ in „guzzle/http“ der Firmenname und „http“ der Paketname. Der Unternehmensname ist weltweit eindeutig. Er ist eine globale Kennung und wird verwendet, um zu identifizieren, wem das Paket unter dem Namen gehört. Der Paketname wird verwendet, um ein Paket unter dem Unternehmensnamen eindeutig zu identifizieren.
Packagist listet alle Versionen der Komponente auf (einschließlich der in der Entwicklung befindlichen Entwicklungsversion). Wir müssen dies jedoch nicht Version für Version filtern.
Wie lade ich diese http-Anforderungskomponente herunter? Zu diesem Zeitpunkt wechseln wir zunächst in der Befehlszeile zum Verzeichnis der obersten Ebene des Projekts, in das wir die Komponente herunterladen möchten , und geben Sie den folgenden Befehl ein. Laden Sie die guzzle/http-Komponente herunter.
#composer require guzzle/http
Dieser Befehl veranlasst Composer, die neueste stabile Version der angegebenen PHP-Komponente zu finden und zu installieren. Auf diese Weise können Sie eine PHP-Komponente für HTTP-Anfragen erstellen. Ist das nicht sehr einfach?
Die folgende Eingabeaufforderung zeigt an, dass die Komponente, die wir herunterladen möchten, erfolgreich heruntergeladen wurde!
Was den gelben Teil der Eingabeaufforderung betrifft, ignorieren wir ihn vorerst. Dies ist nur ein Komponententest. Wenn Sie den vollständigen Satz verwenden müssen, wird dies empfohlen um den folgenden Befehl zu verwenden.
#composer require guzzle/guzzle
在执行这条命令的时候,会在你项目的顶层目录里面创建两个文件:composer.json和composer.lock,记住,这两个文件都需要被纳入版本控制系统。
这个组件最终会被放在你项目顶层目录的vender/目录中。
这个文件必须是有效的json文件,至于是否有效,大家可以拷贝上面的代码,到这个网站上面去认证:
//m.sbmmt.com/
它会告诉你,你的文件是不是一个标准的json。
Composer会使用这个文件中的信息对PHP组件进行查找、安装和自动加载。
composer.json文件的完整格式参见composer官网://m.sbmmt.com/
这个文件会列出项目使用的所有PHP组件,以及组件的具体版本号,这其实和文件锁啊,进程锁啊相关的有异曲同工之妙。
为什么需要将这个文件纳入版本控制系统呢,因为你需要让你的其他团队成员知道,项目使用的PHP组件都是哪些版本的,这样能避免由于组件版本差异导致的缺陷风险。
php组件下载下来了,如何去使用它呢,比方说我们下载下来的http组件在vender目录下面了,我们需要在我们项目的入口文件(一般是index.php)里面新增下面一句话
require 'vendor/autoload.php';
Composer下载PHP组件时还会为项目的所有依赖创建一个符合PSR标准的自动加载器。我们仅需在我们的项目入口文件内加入上面这段代码即可。这样我们就可以实例化项目中的任何PHP组件,这些组件会按需自动加载。
使用组件里面的方法与函数,一般使用下面的代码:
$loop = React\EventLoop\Factory::create(); $socket = new React\Socket\Server(8080, $loop); $http = new React\Http\Server($socket); $http->on('request', function (Request $request, Response $response) { $response->writeHead(200, array('Content-Type' => 'text/plain')); $response->end("Hello World!\n"); });$loop->run();
这样,大功告成。今天就和大伙说到这里,至于组件里面的方法如何去使用,在Packagist中都有详细的解释哒,大家可以多花点时间,多研究研究组件,会对你有很大帮助的。^_^
以上就是【PHP系列】PHP组件详解的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!