Symfony Vue 教程展示了如何使用 Vue 前端创建一个简单的 Symfony 应用。
Vue
Vue 是用于构建用户界面和单页应用的开源 JavaScript 框架。 它是 Angular 和 React 的替代方案。
Symfony Vue 示例
在下面的示例中,我们创建了一个简单的 Symfony 应用,该应用在模板中发送数据。 数据由 Vue 处理并显示在组件中。
设置项目
我们展示了如何使用 Vue 设置 Symfony。
使用composer
,我们创建一个新的 Symfony 骨架项目。
我们转到项目目录。
另外,我们安装了 maker 组件。 maker
软件包提供了脚手架。
我们安装开发 Web 服务器。
我们安装了 Symfony Encore。 这将安装并启用 WebpackEncoreBundle,添加assets
目录,创建webpack.config.js
文件,并将node_modules
添加到.gitignore
。
我们安装 Vue 及其库。
项目文件
我们显示了重要的项目文件。
webpack.config.js
在webpack.config.js
文件中,我们启用 Vue 加载程序并设置公共路径和构建路径。
assets/js/app.js
这是启动 Vue 的主要 Vue 文件。
Symfony 将静态文件(如 CSS 和 JavaScript)存储在assets
目录中。
assets/js/components/App.vue
这是 Vue 组件。 Vue 应用由组件组成。 一个组件由三部分组成:模板,脚本和样式。
在 Vue 中有两种输出变量的方法: 第二个与 Twig 相同。
使用v-for
指令,我们遍历words
数组并显示列表项中的每个元素。 :key
指令可帮助 Vue 渲染列表。 它包含元素的 ID。
数据来自 Symfony Twig 模板; 它由 JavaScript 处理,最后在 Vue 组件中与v-for
输出。
在data()
函数中,我们启动一个消息变量和words
数组。
words
数组在mounted()
函数中填充了数据,该函数解析元素数据集中的数据。 它以字符串形式存储在此; 我们将字符串分成单词。 数据将插入 Symfony 的 Twig 模板内的数据集中。
assets/css/style.css
style.css
中有一些基本的 CSS。
HomeController
由 Symfony 制造商创建。
src/Controller/HomeController.php
控制器方法将单词列表发送给客户端。
我们渲染向其发送单词的index.html.twig
模板。
templates/home/index.html.twig
在模板中,我们将单词数组添加到data-words
属性。 使用 Twig join
过滤器将数组连接成字符串。 HTMLElement 接口上的dataset
属性提供对在元素上设置的所有自定义数据属性(data- *)的读/写访问。
这是主要 Vue 组件的入口点。
templates/base.html.twig
这是基本模板文件。
CSS 文件加载有encore_entry_link_tags
。
JavaScript 文件加载有encore_entry_script_tags
。
构建项目
我们需要构建项目。
使用npm run dev
命令为开发环境构建项目。
运行应用
我们启动开发服务器并找到应用页面。
我们启动开发服务器。 然后我们找到localhost:8000/home
页面。
您可能也对以下相关教程感兴趣: Symfony 简介,Symfony 表单教程, Symfony 翻译教程, PHP 教程。