


Comment implémenter une nouvelle fonction d'invite de commande en php
Dans le processus de construction du système de centre commercial, nous aurons besoin d'une fonction de rappel de commande, c'est-à-dire qu'un rappel sera émis lorsqu'une nouvelle commande arrivera. La façon dont je le mets en œuvre est qu'après avoir passé une commande, il rappellera "Vous avez une nouvelle commande, veuillez la vérifier attentivement!"
Solution
sondage ajax (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
La méthode de sondage est relativement simple , c'est-à-dire à chaque fois Combien de secondes pour lancer une demande. S'il n'y a pas beaucoup de commandes dans le projet, l'envoi d'une requête toutes les quelques secondes mettra beaucoup de pression sur le serveur.
<script> setInterval("order()",59000000);//每59秒刷新查询一次 var last_count = {$count}; function order() { var data = { 'last_count':last_count }; $.ajax({ type: "POST", data: data, url: "{:url('Order/sendOrderNotice')}",//后台方法 timeout: 60000, cache: false, async: false, dataType: "json", success: function(data) { if(data.status == 1){ var audio = document.getElementById( "play" ); //浏览器支持 audio audio.play(); //播放提示音 last_count = data.last_count; setTimeout(function(){ window.location.reload(); }, 3000); } } }); } </script>
Ce qui précède est le cœur de cette solution. Veuillez écrire le code back-end selon votre propre logique métier.
Workerman
Workerman est un framework de service de socket PHP open source hautes performances développé uniquement en PHP.
Workerman ne réinvente pas la roue. Il ne s'agit pas d'un framework MVC, mais d'un framework de service socket de niveau inférieur et plus général. Vous pouvez l'utiliser pour développer des agents TCP, des agents ladder, des serveurs de jeux, des serveurs de messagerie, et des serveurs ftp, et même développer une version PHP de redis, une version PHP de la base de données, une version PHP de nginx, une version PHP de php-fpm, etc. Workerman peut être considéré comme une innovation dans le domaine de PHP, permettant aux développeurs de s'affranchir complètement des contraintes que PHP ne peut faire que sur le WEB.
En fait, Workerman est similaire à une version PHP de nginx. Le noyau est également multi-processus + Epoll + IO non bloquant. Chaque processus Workerman peut maintenir des dizaines de milliers de connexions simultanées.
Parce qu'il réside en mémoire, il ne s'appuie pas sur des conteneurs tels qu'Apache, nginx et php-fpm, et offre des performances ultra élevées. Il prend également en charge TCP, UDP, UNIXSOCKET, les connexions longues, Websocket, HTTP, WSS, HTTPS et d'autres protocoles de communication ainsi que divers protocoles personnalisés.
Il possède de nombreux composants hautes performances tels que des minuteries, des clients socket asynchrones, Mysql asynchrone, Redis asynchrone, Http asynchrone, des files d'attente de messages asynchrones, etc.
Code page de suivi des commandes :
<script src='http://cdn.bootcss.com/socket.io/1.3.7/socket.io.js'></script> <script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script> <script> // 连接服务端,workerman.net:2120换成实际部署web-msg-sender服务的域名或者ip var socket = io('http://www.tp5_test.com:2120'); //http://www.tp5_test.com换成自己的域名或者ip // uid可以是自己网站的用户id,以便针对uid推送以及统计在线人数,这个ID可以随便写 uid = 1557062581000; // socket连接后以uid登录 socket.on('connect', function(){ socket.emit('login', uid); }); <!--// 后端推送来消息时--> socket.on('new_msg', function(msg){ //两种处理方式 // 1 追加到页面元素中,可以做成页面的弹窗 $("#msg").append(msg); //2 播放提示应 : if(msg == 1){ var audio = document.getElementById( "play" ); //浏览器支持 audio audio.play(); //播放提示音 } }); // 后端推送来在线数据时 socket.on('update_online_count', function(online_stat){ console.log(online_stat); }); </script>
Code backend :
//这个方法我随便写了写,具体的处理就是在支付完成回调以后,用用send_workerman方法就可以了。我是用sends来模型支付完成以后的回调 public function sends($id) { // var_dump($id);die; if($id == 1){ $this->send_workman($id); }else{ echo '没有发送消息'; } } /** * @route('send_workman') */ public function send_workman($id) { $to_uid = '1557062581000'; //和页面的uid一致,不填写也可以 // 推送的url地址,使用自己的服务器地址 $push_api_url = "http://www.tp5_test.com:2121/"; $post_data = array( "type" => "publish", "content" => $id, "to" => $to_uid, ); $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $push_api_url ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data ); curl_setopt ( $ch, CURLOPT_HTTPHEADER, array("Expect:")); $return = curl_exec ( $ch ); curl_close ( $ch ); var_export($return); }
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Se connecter à CakePHP est une tâche très simple. Il vous suffit d'utiliser une seule fonction. Vous pouvez enregistrer les erreurs, les exceptions, les activités des utilisateurs, les actions entreprises par les utilisateurs, pour tout processus en arrière-plan comme cronjob. La journalisation des données dans CakePHP est facile. La fonction log() est fournie

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c
