Maison >développement back-end >tutoriel php >PHP peut-il être encore plus rapide? Light-Speed avec le cadre de clignotement
clignotement: un framework PHP haute performance
Vous avez probablement entendu parler de Lumen, Silex et Slim. Maintenant, rencontrez Blink, un nouveau cadre PHP conçu pour les applications haute performance exigeant des ressources de serveur importantes. Cet article explore les capacités de Blink et démontre son utilisation via un exemple d'application "notejam".
Blink exploite l'extension Swoole PHP pour atteindre ses objectifs de performance. Plongeons dans les détails.
Caractéristiques clés:
Installation d'extension Swoole:
Les performances de Blink repose sur l'extension Swoole. Ce guide utilise de la poire sur Ubuntu 14.04 avec une configuration de lampe (en utilisant VAPROBASH; voir le Fagrantfile du projet pour plus de détails). (Remarque: l'incompatibilité actuelle de Swoole avec PHP 7 est un facteur dans ce choix de configuration.)
<code class="language-bash">sudo apt-get update sudo apt-get install php-pear php5-dev libcurl3-openssl-dev sudo pecl install swoole</code>
Après l'installation, n'oubliez pas d'ajouter extension=swoole.so
à votre fichier php.ini
. Vérifiez le chargement de l'extension avec:
<code class="language-bash">php -m | grep 'swoole'</code>
(Version Swoole actuelle: 1.7.22-alpha, incompatible avec PHP 7; les versions futures visent à résoudre ce problème.)
Installation de clignotements:
Utilisez le compositeur:
<code class="language-bash">composer create-project --prefer-dist blink/seed</code>
Démarrez le serveur:
<code class="language-bash">php blink server serve</code>
Accédez à l'application à http://localhost:7788
(ou ajustez le port comme décrit ci-dessous).
Configuration:
Bien que Blink n'offre pas de spécification de port de ligne de commande, vous pouvez modifier le port dans src/config/server.php
:
<code class="language-php"><?php return [ 'class' => '\blink\server\SwServer', 'bootstrap' => require __DIR__ . '/../bootstrap.php', 'host' => '0.0.0.0', 'port' => 8080, ];</code>
N'oubliez pas de redémarrer le serveur après avoir apporté des modifications. Le répertoire config
abrite également des configurations d'application et de service.
Construire l'application Remarque:
L'application Notejam (disponible sur github) comprend:
Intégration de brindilles (moteur de modèles):
Blink n'inclut pas un moteur de modèles par défaut; Nous utiliserons Twig. Modifier src/bootstrap.php
et ajouter src/bindings.php
:
<code class="language-bash">sudo apt-get update sudo apt-get install php-pear php5-dev libcurl3-openssl-dev sudo pecl install swoole</code>
<code class="language-bash">php -m | grep 'swoole'</code>
Intégration éloquente (gestion de la base de données):
Pour l'interaction de la base de données (utilisateurs, notes, pads), nous utiliserons éloquent. Installer via Composer:
<code class="language-bash">composer create-project --prefer-dist blink/seed</code>
Ensuite, configurez éloquent dans src/bindings.php
:
<code class="language-bash">php blink server serve</code>
(les migrations de la base de données sont gérées via src/console/MigrateCommand.php
et src/config/app.php
.)
routage, contrôleurs et vues:
Les routes sont définies dans src/http/routes.php
. Les contrôleurs résident dans src/http/controllers
. Les vues utilisent des modèles de brindilles. L'article fournit des exemples détaillés de ces composants pour la fonctionnalité de l'application Notejam (inscription, connexion, paramètres, gestion des notes). Le middleware est utilisé pour l'authentification et l'autorisation.
Sessions et cookies:
Blink ne gère pas automatiquement les sessions PHP; La gestion manuelle (en utilisant l'objet de demande) est nécessaire.
Conclusion:
clignotement, bien qu'en début de développement, offre une alternative convaincante haute performance. La communauté est encouragée à contribuer à sa croissance et à son amélioration.
Les FAQ fournies sont déjà complètes et bien structurées. Aucune autre modification n'est nécessaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!