


Comment utiliser PHP et Vue pour développer des fonctions de gestion logistique pour la gestion d'entrepôt
Comment utiliser PHP et Vue pour développer des fonctions de gestion logistique pour la gestion d'entrepôt
Avec le développement rapide du commerce électronique, les fonctions de gestion logistique de la gestion d'entrepôt deviennent de plus en plus importantes. Dans cet article, je vais vous présenter comment utiliser PHP et Vue pour développer un système de gestion d'entrepôt simple et pratique, et fournir des exemples de code spécifiques.
- Préparation de l'environnement
Avant de commencer le développement, nous devons préparer un environnement de développement. Tout d’abord, assurez-vous que les environnements de développement PHP et Vue sont installés sur votre ordinateur. Vous pouvez configurer un environnement de développement PHP local en téléchargeant et en installant XAMPP, WAMP ou MAMP. Dans le même temps, vous devez également installer Node.js pour prendre en charge le développement de Vue. Vous pouvez vérifier si Node.js a été installé en exécutant la commande suivante dans la ligne de commande :
node -v
- Conception de base de données
Un système de gestion d'entrepôt nécessite une base de données pour stocker les données liées à la gestion logistique. Dans cet exemple, nous devrons créer une base de données nommée « entrepôt » et créer les deux tables suivantes pour stocker les données :
Table Items (items) : utilisée pour stocker toutes les informations sur les articles entreposés.
CREATE TABLE items ( id INT(11) AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), quantity INT(11), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Table logistique (expéditions) : utilisée pour stocker toutes les informations logistiques, y compris les entreprises de logistique, les expéditeurs, les destinataires, etc.
CREATE TABLE shipments ( id INT(11) AUTO_INCREMENT PRIMARY KEY, item_id INT(11), company VARCHAR(255), sender VARCHAR(255), receiver VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (item_id) REFERENCES items(id) );
- Développement Backend - PHP
Ensuite, nous allons construire l'interface API backend via PHP.
Tout d'abord, créez un dossier nommé "api" et créez un fichier nommé "index.php" à l'intérieur. Dans "index.php", nous allons créer les interfaces API suivantes :
Obtenir toutes les informations sur les articles :
<?php header("Content-Type: application/json"); require_once 'config.php'; $query = "SELECT * FROM items"; $result = mysqli_query($conn, $query); $items = []; while ($row = mysqli_fetch_assoc($result)) { $items[] = $row; } echo json_encode($items);
Créer de nouveaux articles :
<?php header('Content-Type: application/json'); require_once 'config.php'; $name = $_POST['name']; $quantity = $_POST['quantity']; $query = "INSERT INTO items (name, quantity) VALUES ('$name', $quantity)"; $result = mysqli_query($conn, $query); $response = []; if ($result) { $response['message'] = 'Item created successfully'; } else { $response['message'] = 'Failed to create item'; } echo json_encode($response);
Obtenir toutes les informations logistiques :
<?php header("Content-Type: application/json"); require_once 'config.php'; $query = "SELECT shipments.id, items.name, shipments.company, shipments.sender, shipments.receiver, shipments.created_at FROM shipments INNER JOIN items ON shipments.item_id = items.id"; $result = mysqli_query($conn, $query); $shipments = []; while ($row = mysqli_fetch_assoc($result)) { $shipments[] = $row; } echo json_encode($shipments);
Créer de nouvelles informations logistiques :
<?php header('Content-Type: application/json'); require_once 'config.php'; $item_id = $_POST['item_id']; $company = $_POST['company']; $sender = $_POST['sender']; $receiver = $_POST['receiver']; $query = "INSERT INTO shipments (item_id, company, sender, receiver) VALUES ($item_id, '$company', '$sender', '$receiver')"; $result = mysqli_query($conn, $query); $response = []; if ($result) { $response['message'] = 'Shipment created successfully'; } else { $response['message'] = 'Failed to create shipment'; } echo json_encode($response);
Vous aussi devez créer un fichier nommé "config.php" dans le dossier "api", qui est utilisé pour configurer les informations de connexion à la base de données :
<?php $conn = mysqli_connect('localhost', 'root', '', 'warehouse'); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
- Développement front-end - Vue
Maintenant, nous allons utiliser Vue pour développer le interface frontale.
Créez un dossier nommé "frontend" dans le répertoire racine du projet et entrez le dossier via la ligne de commande.
Tout d’abord, installez Vue CLI. Exécutez la commande suivante dans la ligne de commande :
npm install -g @vue/cli
Créez un nouveau projet Vue. Exécutez la commande suivante dans la ligne de commande et configurez en fonction des invites :
vue create warehouse-management
Entrez le répertoire du projet Vue nouvellement créé. Exécutez la commande suivante dans la ligne de commande :
cd warehouse-management
Installez les dépendances requises. Exécutez la commande suivante dans la ligne de commande :
npm install
Créez un dossier nommé "components" dans le dossier "src" et créez-y les composants suivants :
Composant liste d'articles (ItemList.vue) :
<template> <div> <h2 id="物品列表">物品列表</h2> <table> <thead> <tr> <th>物品名称</th> <th>数量</th> <th>操作</th> </tr> </thead> <tbody> <tr v-for="item in items" :key="item.id"> <td>{{ item.name }}</td> <td>{{ item.quantity }}</td> <td> <button @click="deleteItem(item.id)">删除</button> </td> </tr> </tbody> </table> <h3 id="添加新物品">添加新物品</h3> <input type="text" v-model="newItemName" placeholder="物品名称"> <input type="number" v-model="newItemQuantity" placeholder="数量"> <button @click="createItem">添加</button> </div> </template> <script> export default { data() { return { items: [], newItemName: '', newItemQuantity: 0 }; }, mounted() { this.getItems(); }, methods: { getItems() { axios.get('/api/get_items.php').then(response => { this.items = response.data; }); }, createItem() { axios.post('/api/create_item.php', { name: this.newItemName, quantity: this.newItemQuantity }).then(response => { this.getItems(); this.newItemName = ''; this.newItemQuantity = 0; }); }, deleteItem(id) { axios.post('/api/delete_item.php', { id: id }).then(response => { this.getItems(); }); } } }; </script>
Composant liste d'expédition (ShipmentList.vue) :
<template> <div> <h2 id="物流列表">物流列表</h2> <table> <thead> <tr> <th>物品名称</th> <th>物流公司</th> <th>寄件人</th> <th>收件人</th> <th>创建时间</th> </tr> </thead> <tbody> <tr v-for="shipment in shipments" :key="shipment.id"> <td>{{ shipment.name }}</td> <td>{{ shipment.company }}</td> <td>{{ shipment.sender }}</td> <td>{{ shipment.receiver }}</td> <td>{{ shipment.created_at }}</td> </tr> </tbody> </table> <h3 id="添加新物流">添加新物流</h3> <select v-model="selectedItem"> <option v-for="item in items" :value="item.id">{{ item.name }}</option> </select> <input type="text" v-model="newShipmentCompany" placeholder="物流公司"> <input type="text" v-model="newShipmentSender" placeholder="寄件人"> <input type="text" v-model="newShipmentReceiver" placeholder="收件人"> <button @click="createShipment">添加</button> </div> </template> <script> export default { data() { return { items: [], selectedItem: '', shipments: [], newShipmentCompany: '', newShipmentSender: '', newShipmentReceiver: '' }; }, mounted() { this.getItems(); this.getShipments(); }, methods: { getItems() { axios.get('/api/get_items.php').then(response => { this.items = response.data; }); }, getShipments() { axios.get('/api/get_shipments.php').then(response => { this.shipments = response.data; }); }, createShipment() { axios.post('/api/create_shipment.php', { item_id: this.selectedItem, company: this.newShipmentCompany, sender: this.newShipmentSender, receiver: this.newShipmentReceiver }).then(response => { this.getShipments(); this.newShipmentCompany = ''; this.newShipmentSender = ''; this.newShipmentReceiver = ''; }); } } }; </script>
Ouvrez le fichier « App.vue » dans le dossier « src » et ajoutez le code suivant à l'emplacement correspondant du fichier :
<template> <div id="app"> <item-list></item-list> <shipment-list></shipment-list> </div> </template> <script> import ItemList from './components/ItemList.vue'; import ShipmentList from './components/ShipmentList.vue'; export default { components: { ItemList, ShipmentList } }; </script>
À ce stade, nous avons terminé d'utiliser l'exemple de code PHP pour développer des fonctions de gestion logistique pour la gestion d'entrepôt avec Vue. Vous pouvez démarrer le serveur de développement frontal en exécutant la commande « npm run serve » et visiter « http://localhost:8080 » dans le navigateur pour afficher l'effet du projet. Dans le même temps, vous devez également exécuter le serveur de développement PHP pour rendre l'interface API efficace.
J'espère que les exemples ci-dessus pourront vous aider à comprendre comment utiliser PHP et Vue pour développer des fonctions de gestion logistique pour la gestion des entrepôts. Bien entendu, il ne s’agit que d’un exemple simple, et vous pouvez étendre et optimiser la fonction en fonction des besoins réels. Bonne chance dans votre 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!

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)

Dans PHP, le mot-clé final est utilisé pour empêcher les classes d'être héritées et les méthodes écrasées. 1) Lors du marquage de la classe comme final, la classe ne peut pas être héritée. 2) Lors du marquage de la méthode comme final, la méthode ne peut pas être réécrite par la sous-classe. L'utilisation de mots clés finaux garantit la stabilité et la sécurité de votre code.

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Dans vue.js, le chargement paresseux permet de charger dynamiquement les composants ou les ressources, en réduisant le temps de chargement des pages initiales et en améliorant les performances. La méthode de mise en œuvre spécifique comprend l'utilisation de & lt; keep-alive & gt; et & lt; composant est & gt; composants. Il convient de noter que le chargement paresseux peut provoquer des problèmes de FOUC (écran d'éclat) et ne doit être utilisé que pour les composants qui nécessitent un chargement paresseux pour éviter les frais généraux de performances inutiles.

Il existe trois méthodes courantes pour que Vue.js traverse les tableaux et les objets: la directive V-FOR est utilisée pour traverser chaque élément et les modèles de rendu; La directive V-Bind peut être utilisée avec V-FOR pour définir dynamiquement les valeurs d'attribut pour chaque élément; et la méthode .map peut convertir les éléments du tableau en nouveaux tableaux.
