Maison développement back-end tutoriel php Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques

Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques

Jun 27, 2023 pm 02:49 PM
codeigniter php框架 实时聊天

Avec le développement de l'Internet mobile, la messagerie instantanée est devenue de plus en plus importante et populaire. Pour de nombreuses entreprises, le chat en direct s’apparente davantage à un service de communication, offrant une méthode de communication pratique permettant de résoudre rapidement et efficacement les problèmes commerciaux. Sur cette base, cet article présentera comment utiliser le framework PHP CodeIgniter pour développer une application de chat en temps réel.

  1. Comprendre le framework CodeIgniter

CodeIgniter est un framework PHP léger qui fournit une série d'outils et de bibliothèques simples pour aider les développeurs à mieux développer candidatures rapidement. Ses avantages incluent :

  • Simple et facile à utiliser, faible barrière à l'entrée
  • Fournit des bibliothèques et des outils riches, une efficacité de développement élevée
  • Avec beaucoup de soutien communautaire et une excellente documentation
  • Très flexible et idéal pour les petites applications et les projets simples
  1. Développement d'applications de chat en temps réel#🎜 🎜 #
2.1 Configuration de l'environnement

Avant d'exécuter notre application, nous devons d'abord installer le framework CodeIgniter. Vous pouvez utiliser Composer pour installer CodeIgniter, un outil de gestion des dépendances PHP.

Allez dans le dossier de votre projet et installez CodeIgniter :

composer require codeigniter/framework
Copier après la connexion

Après une installation réussie, utilisez la commande suivante pour démarrer rapidement un serveur local :

php -S localhost:8000
Copier après la connexion
#🎜 🎜# Cela démarrera un serveur local écoutant sur le port 8000. Vous pouvez accéder à votre application en tapant localhost:8000 dans votre navigateur.

2.2 Créer une base de données

L'application de chat en temps réel doit créer une base de données pour stocker les enregistrements de chat et les informations des utilisateurs. Créez une base de données nommée « chat » dans phpMyAdmin ou une autre interface de base de données, et créez les deux tables suivantes :

users : stocke les informations de base de l'utilisateur telles que le nom d'utilisateur et le mot de passe#🎜 🎜## 🎜🎜#messages : stocker les enregistrements de chat
  • Voici la structure du tableau :
  • utilisateurs :
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
Copier après la connexion

messages :

CREATE TABLE `messages` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sender_id` int(11) NOT NULL,
`receiver_id` int(11) NOT NULL,
`message` text NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
Copier après la connexion

2.3 Implémenter les fonctions d'enregistrement et de connexion des utilisateurs

Dans CodeIgniter, vous pouvez utiliser la bibliothèque de connexion à la base de données par défaut de CodeIgniter, CI_DB_driver, qui peut être instanciée simplement via le constructeur.

Ajouter la configuration de la base de données dans le fichier config.php de l'application :

$config['hostname'] = 'localhost';
$config['username'] = 'root';
$config['password'] = 'root';
$config['database'] = 'chat';
$config['dbdriver'] = 'mysqli';
$config['dbprefix'] = '';
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$config['cache_on'] = FALSE;
$config['cachedir'] = '';
$config['char_set'] = 'utf8';
$config['dbcollat'] = 'utf8_general_ci';
$config['swap_pre'] = '';
$config['encrypt'] = FALSE;
$config['compress'] = FALSE;
$config['stricton'] = FALSE;
$config['failover'] = array();
$config['save_queries'] = TRUE;
Copier après la connexion

Ensuite, nous devons définir un modèle utilisateur pour gérer l'enregistrement et la connexion des utilisateurs. Créez un fichier nommé User_model.php dans le dossier application/models avec le code suivant :

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class User_model extends CI_Model
{
  public function register($data)
  {
    $this->db->insert('users', $data);
  }

  public function login($username, $password)
  {
    $this->db->select('*');
    $this->db->from('users');
    $this->db->where('username', $username);
    $this->db->where('password', $password);
    $query = $this->db->get();
    return $query->row_array();
  }
}
Copier après la connexion

Le code ci-dessus définit deux méthodes : la méthode register() et la méthode login(). La méthode register() est utilisée pour insérer les données utilisateur dans la table des utilisateurs et la méthode login() est utilisée pour obtenir les données utilisateur de la base de données.

2.4 Implémenter la fonction de chat en temps réel

Créez un fichier nommé chat.php dans le dossier vues de l'application. Cette page contient deux parties : l'interface de chat et la zone de saisie.

Tout d'abord, nous devons obtenir l'historique des discussions du serveur via Ajax. Lorsqu'un utilisateur est connecté, nous afficherons toujours le dernier historique de discussion. Obtenez le dernier historique des discussions via le code suivant :

function getMessages() {
    $.ajax({
        url: '/chat/getMessages',
        type: 'POST',
        dataType: 'json',
        success: function(data) {
            // 将聊天记录插入到聊天界面
        }
    });
}

setInterval(function() {
    getMessages();
}, 1000);
Copier après la connexion

Le code ci-dessus utilise l'Ajax de jQuery pour demander la méthode getMessages() sur le serveur. La méthode setInterval() définit le minuteur pour déclencher la méthode getMessages() toutes les secondes.

Ensuite, nous devons mettre en œuvre la logique d'envoi de messages. Une fois que l'utilisateur a saisi le message, il peut appuyer sur Entrée ou cliquer sur le bouton Envoyer pour envoyer le message. Nous devons récupérer le message de la zone de saisie et l'envoyer au serveur via Ajax :

function sendMessage() {
    var message = $('#message').val();
    $('#message').val('');
    $.ajax({
        url: '/chat/sendMessage',
        type: 'POST',
        data: {message: message},
        success: function(data) {
            // 消息已发送
        }
    });
}

$('#send').click(function() {
    sendMessage();
});

$('#message').keydown(function(event) {
    if (event.keyCode == 13) {
        sendMessage();
    }
});
Copier après la connexion

sendMessage() récupère le message de la zone de saisie et l'envoie au serveur. Cette méthode peut être déclenchée en cliquant sur le bouton d'envoi ou en appuyant sur la touche Entrée.

Ensuite, nous devons implémenter la méthode getMessages() et la méthode sendMessage() dans le contrôleur Chat. Créez un fichier nommé Chat.php dans le dossier application/controllers. Le code est le suivant :

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Chat extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->model('message_model');
    }

    public function index()
    {
        // 显示 页面
    }

    public function getMessages()
    {
        $data = $this->message_model->get();
        header('Content-Type: application/json');
        echo json_encode($data);
    }

    public function sendMessage()
    {
        $message = $this->input->post('message');
        $this->message_model->send($message);
    }
}
Copier après la connexion

Le code ci-dessus définit 3 méthodes : la méthode index(), la méthode getMessages() et la méthode sendMessage(). . La méthode index() est utilisée pour afficher la page chat.php, la méthode getMessages() est utilisée pour obtenir les derniers enregistrements de discussion de la base de données et la méthode sendMessage() reçoit les messages du client et les stocke dans la base de données.

2.5 Implémentation de la liste d'utilisateurs

Nous devons créer un fichier nommé users.php dans le dossier vues de l'application. Cette page consiste en une liste montrant les utilisateurs qui sont en ligne. Nous devons utiliser Ajax pour obtenir la liste des utilisateurs en ligne du serveur :

function getUsers() {
    $.ajax({
        url: '/chat/getUsers',
        type: 'POST',
        dataType: 'json',
        success: function(data) {
            // 将在线用户列表插入到列表中
        }
    });
}

setInterval(function() {
    getUsers();
}, 2000);
Copier après la connexion

Le code ci-dessus utilise l'Ajax de jQuery pour demander la méthode getUsers() sur le serveur. La méthode setInterval() définit le minuteur pour déclencher la méthode getUsers() toutes les 2 secondes.

Ensuite, nous devons implémenter la méthode getUsers() dans le contrôleur Chat. Cette méthode renverra la liste des utilisateurs en ligne :

public function getUsers()
{
    $data = $this->message_model->getUsers();
    header('Content-Type: application/json');
    echo json_encode($data);
}
Copier après la connexion

2.6 Complétez l'application

Enfin, nous devons ajouter la méthode login() et la méthode register() dans l'index contrôleur. La méthode login() est utilisée pour afficher la page de connexion et la méthode register() est utilisée pour afficher la page d'inscription. Les pages d'inscription et de connexion sont de simples formulaires HTML.

Après avoir terminé les étapes ci-dessus, nous avons développé une application de chat en temps réel en utilisant le framework PHP CodeIgniter. Les utilisateurs peuvent se connecter en saisissant leur nom d'utilisateur et leur mot de passe, envoyer des messages et discuter avec les utilisateurs en ligne.

  1. Résumé

Cet article présente comment utiliser le framework PHP CodeIgniter pour développer une application de chat en temps réel. Les fonctionnalités de l'application incluent l'enregistrement et la connexion des utilisateurs, le chat en direct, la liste des utilisateurs en ligne, etc. CodeIgniter est un framework très adapté aux applications de petite et moyenne taille. Il fournit une série d'outils et de bibliothèques simples mais puissants qui peuvent aider les développeurs à créer rapidement des applications Web. De plus, de nombreux aspects sont à considérer lors du développement d’une application de chat en direct. Si vous développez une application similaire, nous vous recommandons d’adopter l’approche décrite dans cet article et de l’adapter en fonction de vos besoins.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comparaison des avantages et inconvénients des frameworks PHP : Lequel est le meilleur ? Comparaison des avantages et inconvénients des frameworks PHP : Lequel est le meilleur ? Jun 04, 2024 pm 03:36 PM

Le choix du framework PHP dépend des besoins du projet et des compétences du développeur : Laravel : riche en fonctionnalités et en communauté active, mais a une courbe d'apprentissage abrupte et des frais généraux élevés en termes de performances. CodeIgniter : léger et facile à étendre, mais a des fonctionnalités limitées et moins de documentation. Symfony : Communauté modulaire et forte, mais problèmes de performances complexes. ZendFramework : de niveau entreprise, stable et fiable, mais volumineux et coûteux en licence. Slim : micro-framework, rapide, mais avec des fonctionnalités limitées et une courbe d'apprentissage abrupte.

Différences de performances des frameworks PHP dans différents environnements de développement Différences de performances des frameworks PHP dans différents environnements de développement Jun 05, 2024 pm 08:57 PM

Il existe des différences dans les performances des frameworks PHP dans différents environnements de développement. Les environnements de développement (tels que les serveurs Apache locaux) souffrent de performances de framework inférieures en raison de facteurs tels que les performances des serveurs locaux et les outils de débogage inférieurs. En revanche, un environnement de production (tel qu'un serveur de production entièrement fonctionnel) avec des serveurs plus puissants et des configurations optimisées permet au framework de fonctionner nettement mieux.

Frameworks et microservices PHP : déploiement et conteneurisation cloud natifs Frameworks et microservices PHP : déploiement et conteneurisation cloud natifs Jun 04, 2024 pm 12:48 PM

Avantages de la combinaison du framework PHP avec des microservices : Évolutivité : étendez facilement l'application, ajoutez de nouvelles fonctionnalités ou gérez plus de charge. Flexibilité : les microservices sont déployés et maintenus de manière indépendante, ce qui facilite les modifications et les mises à jour. Haute disponibilité : la défaillance d'un microservice n'affecte pas les autres parties, garantissant une disponibilité plus élevée. Cas pratique : Déployer des microservices à l'aide de Laravel et Kubernetes Étapes : Créer un projet Laravel. Définissez le contrôleur de microservice. Créez un fichier Docker. Créez un manifeste Kubernetes. Déployez des microservices. Testez les microservices.

Intégration des frameworks PHP avec DevOps : le futur de l'automatisation et de l'agilité Intégration des frameworks PHP avec DevOps : le futur de l'automatisation et de l'agilité Jun 05, 2024 pm 09:18 PM

L'intégration des frameworks PHP avec DevOps peut améliorer l'efficacité et l'agilité : automatiser les tâches fastidieuses, libérer le personnel pour qu'il se concentre sur les tâches stratégiques, raccourcir les cycles de publication, accélérer la mise sur le marché, améliorer la qualité du code, réduire les erreurs, améliorer la collaboration des équipes interfonctionnelles et décomposer silos de développement et d’exploitation

Le meilleur framework PHP pour l'architecture de microservices : performances et efficacité Le meilleur framework PHP pour l'architecture de microservices : performances et efficacité Jun 03, 2024 pm 08:27 PM

Meilleur framework de microservices PHP : Symfony : flexibilité, performances et évolutivité, fournissant une suite de composants pour la création de microservices. Laravel : se concentre sur l'efficacité et la testabilité, fournit une interface API propre et prend en charge les services sans état. Slim : minimaliste, rapide, fournit un système de routage simple et un constructeur de corps intermédiaire en option, adapté à la création d'API hautes performances.

Le potentiel applicatif de l'intelligence artificielle dans le framework PHP Le potentiel applicatif de l'intelligence artificielle dans le framework PHP Jun 03, 2024 am 11:01 AM

Le potentiel d'application de l'intelligence artificielle (IA) dans le framework PHP comprend : Traitement du langage naturel (NLP) : pour analyser du texte, identifier les émotions et générer des résumés. Traitement d'image : utilisé pour identifier les objets de l'image, la détection des visages et le redimensionnement. Apprentissage automatique : pour la prédiction, la classification et le clustering. Cas pratiques : chatbots, recommandations personnalisées, détection de fraude. L’intégration de l’IA peut améliorer les fonctionnalités d’un site Web ou d’une application, en offrant de nouvelles fonctionnalités puissantes.

Frameworks PHP et intelligence artificielle : guide du développeur Frameworks PHP et intelligence artificielle : guide du développeur Jun 04, 2024 pm 12:47 PM

Utilisez un framework PHP pour intégrer l'intelligence artificielle (IA) afin de simplifier l'intégration de l'IA dans les applications Web. Framework recommandé : Laravel : léger, efficace et puissant. CodeIgniter : Simple et facile à utiliser, adapté aux petites applications. ZendFramework : Framework de niveau entreprise avec des fonctions complètes. Méthode d'intégration de l'IA : Modèle d'apprentissage automatique : effectuer des tâches spécifiques. AIAPI : fournit des fonctionnalités prédéfinies. Bibliothèque AI : gère les tâches d’IA.

Quel framework PHP offre la bibliothèque d'extensions la plus complète pour un développement rapide ? Quel framework PHP offre la bibliothèque d'extensions la plus complète pour un développement rapide ? Jun 04, 2024 am 10:45 AM

La bibliothèque d'extensions de framework PHP propose quatre frameworks de sélection : Laravel : connu pour son vaste écosystème et ses packages tiers, il fournit l'authentification, le routage, la validation et d'autres extensions. Symfony : hautement modulaire, étendant les fonctionnalités via des "Bundles" réutilisables, couvrant des domaines tels que l'authentification et les formulaires. CodeIgniter : léger et performant, fournissant des extensions pratiques telles que la connexion à une base de données et la validation de formulaires. ZendFramework : fonctionnalités puissantes au niveau de l'entreprise, avec des extensions telles que l'authentification, la connexion à une base de données, la prise en charge de RESTfulAPI, etc.

See all articles