Avec le développement d'Internet, de plus en plus d'applications doivent mettre en œuvre des tâches planifiées, telles que l'envoi de messages, l'envoi régulier d'e-mails, le nettoyage des données, etc. En réponse à ces besoins, le framework Yii fournit une prise en charge complète des tâches planifiées. Cet article explique comment utiliser le framework Yii pour développer des applications de tâches planifiées.
1. Introduction au framework Yii
Yii (prononcé [yiː], signifiant « Oui, c'est le cas ! ») est un framework PHP hautes performances, développé sur la base du modèle de conception MVC (Model-View-Controller). Le framework Yii présente les avantages de simplicité, d'efficacité, de sécurité et d'évolutivité, et est actuellement l'un des frameworks PHP les plus populaires.
Le framework Yii fournit une variété de composants et d'outils qui peuvent être utilisés pour créer différents types d'applications. Parmi eux, le composant de tâches planifiées du framework Yii peut aider les développeurs à mettre en œuvre diverses tâches planifiées, telles que la sauvegarde planifiée, le nettoyage planifié, l'envoi programmé d'e-mails, etc.
2. Le composant de tâche planifiée du framework Yii
Le composant de tâche planifiée du framework Yii est basé sur le système CronTab est un planificateur de tâches basé sur le temps qui permet aux utilisateurs d'exécuter des commandes ou des scripts à une heure spécifiée. Le composant de tâches planifiées du framework Yii prend en charge une syntaxe similaire à CronTab, qui peut être utilisée pour définir diverses tâches planifiées.
Dans le framework Yii, vous pouvez obtenir l'instance du composant de tâche planifiée via le code suivant :
$task = Yii::$app->task;
Grâce au code ci-dessus, les développeurs peuvent accéder au composant de tâche planifiée du framework Yii. Ensuite, nous présenterons comment utiliser le composant de tâche planifiée pour écrire une application de tâche planifiée.
3. Exemple d'application de tâches planifiées du framework Yii
Ensuite, nous utiliserons un exemple pour démontrer comment utiliser le framework Yii pour développer une application de tâches planifiées. Cette application est principalement utilisée pour nettoyer régulièrement les données expirées.
Tout d'abord, nous devons créer une application Yii. Vous pouvez créer une application Yii de base via la commande suivante :
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
Cette commande créera une application basée sur le framework Yii. Vous pouvez ouvrir http://localhost/basic dans le navigateur pour voir l'effet de l'application.
Ensuite, nous devons ajouter une tâche planifiée. Vous pouvez éditer le fichier config/console.php de l'application Yii et ajouter le code suivant :
return [ // ... 'components' => [ // ... 'task' => [ 'class' => 'yiiconsolewidgetsSchedule', 'tasks' => [ // 每天凌晨2点清理1个月前的数据 [ 'pattern' => '0 2 * * *', 'route' => ['clean', '-m1'], ], ], ], ], // ... ];
Dans le code ci-dessus, nous avons défini une tâche planifiée qui s'exécutera à 2 heures du matin tous les jours pour nettoyer les données d'il y a 1 mois. Cette tâche est implémentée via le composant de tâche planifiée du framework Yii, qui est défini sur la base de la syntaxe CronTab.
Ensuite, nous devons définir la commande pour nettoyer les données. Vous pouvez ajouter le code suivant au fichier console/controllers/TaskController.php :
<?php namespace consolecontrollers; use Yii; use yiiconsoleController; class TaskController extends Controller { public function actionClean($m = 1) { $targetTime = strtotime("-{$m} months"); $query = Todo::find()->where(['<', 'created_at', $targetTime]); $count = $query->count(); $query->delete(); Yii::info("Cleaned up {$count} expired items.", 'task'); } }
Dans le code ci-dessus, nous définissons une action clean, qui supprimera toutes les données expirées il y a 1 mois. Dans cette commande, nous utilisons le générateur de requêtes du framework Yii pour effectuer des opérations de base de données, et utilisons également le composant de journal fourni par le framework Yii pour enregistrer les résultats du nettoyage des données.
Enfin, nous devons exécuter la tâche planifiée. Vous pouvez démarrer l'application console Yii avec la commande suivante :
php yii scheduled/run
Cette commande démarrera l'application console Yii et exécutera la tâche planifiée. Pendant le processus en cours, le système déterminera si la tâche doit être exécutée en fonction de la syntaxe CronTab. Si la tâche doit être exécutée, la commande spécifiée sera appelée pour terminer la tâche.
4. Résumé
Cet article présente comment utiliser le framework Yii pour développer des applications de tâches planifiées. Grâce au composant de tâches planifiées du framework Yii, les développeurs peuvent facilement implémenter la fonction de tâches planifiées et, en même temps, ils peuvent également écrire diverses commandes de tâches planifiées basées sur les puissantes fonctions du framework Yii.
En bref, si vous avez besoin d'écrire une application de tâches planifiées, vous pouvez envisager d'utiliser le framework Yii, je pense qu'il vous apportera une meilleure expérience de développement.
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!