ホームページ >バックエンド開発 >PHPチュートリアル >究極の方法: PHP と Vue を使用して革新的なマインド マッピング機能を開発する
究極の方法: PHP と Vue を使用して革新的な脳マッピング機能を開発する
はじめに:
情報爆発の時代の到来により、人々は次のことを行う必要があります。より効率的に大量の情報を整理して処理します。マインドマップは視覚的な情報整理手法として、マインドマップ、プロジェクト管理、知識整理などの分野で広く利用されています。 PHP と Vue を使用して革新的な脳マッピング機能を開発することで、情報の整理と管理の効率がさらに向上します。この記事では、PHP と Vue を使用してシンプルかつ強力な脳マッピング機能を実装する方法を紹介し、対応するコード例を添付します。
まず、ノード情報を保存するデータベース テーブルを作成する必要があります。次の SQL ステートメントを使用して、単純なノード テーブルを作成できます。
CREATE TABLE `nodes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `parent_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
次に、PHP が提供する PDO 拡張ライブラリを使用してデータベースに接続し、フロントエンドに対応するインターフェイス関数を作成します。電話。サンプル コードは次のとおりです。
<?php $dbHost = 'localhost'; $dbName = 'your_database_name'; $dbUser = 'your_username'; $dbPass = 'your_password'; $pdo = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf8mb4", $dbUser, $dbPass); function getNodes($parentId = null) { global $pdo; $query = $pdo->prepare("SELECT * FROM nodes WHERE parent_id = ?"); $query->execute([$parentId]); return $query->fetchAll(PDO::FETCH_ASSOC); } function addNode($title, $parent_id) { global $pdo; $query = $pdo->prepare("INSERT INTO nodes (title, parent_id) VALUES (?, ?)"); $query->execute([$title, $parent_id]); return $pdo->lastInsertId(); }
まず、Vue の CDN ライブラリを導入し、Vue インスタンスを作成する必要があります。次に、Vue インスタンスのデータにノード配列を定義し、サーバーから取得したノードのデータを格納します。同時に、ノードの拡張と追加を処理するための対応するメソッドを作成できます。サンプル コードは次のとおりです。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Brainmap</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <ul> <li v-for="node in nodes" @click="toggleNode(node)"> {{ node.title }} <ul v-if="node.expanded"> <li v-for="child in getChildren(node.id)" @click.stop="toggleNode(child)"> {{ child.title }} </li> </ul> </li> </ul> <input type="text" v-model="newNodeTitle"> <button @click="addNode">Add</button> </div> <script> new Vue({ el: '#app', data: { nodes: [], newNodeTitle: '' }, mounted() { this.loadNodes(); }, methods: { loadNodes() { // 调用服务器端接口获取节点数据 axios.get('/api/getNodes.php') .then(response => { this.nodes = response.data; }) .catch(error => { console.error(error); }); }, getChildren(parentId) { return this.nodes.filter(node => node.parent_id === parentId); }, toggleNode(node) { node.expanded = !node.expanded; }, addNode() { const newNode = { title: this.newNodeTitle, parent_id: null, expanded: false }; // 调用服务器端接口添加节点 axios.post('/api/addNode.php', newNode) .then(response => { newNode.id = response.data; this.nodes.push(newNode); this.newNodeTitle = ''; }) .catch(error => { console.error(error); }); } } }); </script> </body> </html>
以上が究極の方法: PHP と Vue を使用して革新的なマインド マッピング機能を開発するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。