如何将类星体与纤细的PHP和细枝一起使用
Slim是一个PHP微框架,可帮助您快速编写简单但功能强大的web应用程序和API。Twig是一个快速、安全、灵活的PHP模板引擎。挑战在于使用这两个组件,同时也使用类星体框架 挑战 类星体使用Vue框架。这意味着它使用如何将类星体与纤细的PHP和细枝一起使用,php,vuejs2,twig,slim-3,quasar-framework,Php,Vuejs2,Twig,Slim 3,Quasar Framework,Slim是一个PHP微框架,可帮助您快速编写简单但功能强大的web应用程序和API。Twig是一个快速、安全、灵活的PHP模板引擎。挑战在于使用这两个组件,同时也使用类星体框架 挑战 类星体使用Vue框架。这意味着它使用{和},因此您可以在布局中获得定义的数据参数。然而,twig也使用这种语法 下面是如何创建这三个方面的工作环境。Quasar、SlimPhp、Twig 这将为您提供以下工作实现: SlimPhp 细枝模板引擎 类星体框架(由Vue提供动力) 本文旨在解释如何将这三个组件结合使
{
和}
,因此您可以在布局中获得定义的数据参数。然而,twig也使用这种语法
下面是如何创建这三个方面的工作环境。Quasar、SlimPhp、Twig
这将为您提供以下工作实现:
- SlimPhp
- 细枝模板引擎
- 类星体框架(由Vue提供动力)
composer install
。这将创建一个“供应商”文件夹。完成后,可以使用php-S localhost:8080-t public
启动嵌入式php服务器。打开浏览器并浏览到该URL以查看结果
SlimPhp
我不打算解释SlimPHP的安装。相反,我指向在线找到的文档。在这个解释的存储库中,您将发现一个更基于MVC的结构(没有与数据库集成)。简而言之,这就是打开urlhttp://localhost:8080/index.php
。这在编程上可能不正确,但可以用于解释
- 文件
指示转到。\config\routes.php
controllerHome
- 在底部的
中,有一个。\config\dependencies.php
的定义,它将controllerHome
和视图
传递给命名空间记录器
中的类Sample\Controllers
HomeController
表示composer.json
应用程序文件位于Sample
中,因此控制器类位于。\src\Sample
位于名为中。\src\Sample\Controlles
的文件中HomeController.php
- 在控制器类文件中,您可以看到有一个
函数。这将调用twig模板的invoke
,并传递响应、模板名称以及一些参数(如果需要)render
- 根据定义目录的文件
,模板位置配置为。\config\bootstrap.php
。此定义用于。\src\Sample\Views
。\config\dependencies.php
- 当您查看
时,有一行。\src\Sample\Views\home\main.twig
,这意味着此文件包含在{%extends'layout.twig%}
中。如果仔细查看,您将看到它被添加到标记为中。\src\Sample\Views\layout.twig
{%block blMainContent%}{%endblock%}
此文件中的内容将替换为传递给模板的变量“strMessage”的内容{{strMessage}}
- 在
中,将向图标集添加链接。\src\Sample\Views\layout.twig
- 在
中,动画中添加了一个链接。\src\Sample\Views\layout.twig
- 在
中,向类星体CSS添加了一个链接(在本例中为MAT)。\src\Sample\Views\layout.twig
- 在
中,一个链接被添加到vue(在主体中!)。\src\Sample\Views\layout.twig
- 在
中,向quasar添加了一个链接(在主体中,vue之后!)。\src\Sample\Views\layout.twig
<div id='q-app'>
<q-layout>
<q-layout-header>
header
</q-layout-header>
<q-page-container>
{% block blMainContent %}{% endblock %}
</q-page-content>
<q-layout-footer>
footer
</q-layout-container>
</q-layout>
</div>
<script>
new Vue({
el: '#q-app',
delimiters: ['[[', ']]'],
data: function () {
return {}
},
methods: {}
})
</script>
标题
{%block blMainContent%}{%endblock%}
页脚
新Vue({
el:“#q-app”,
分隔符:['[',']]'],
数据:函数(){
返回{}
},
方法:{}
})
魔法
现在magic开始完成实现,因此也可以使用main.twig
中的数据属性strMessage2
。如前所述,Vue还使用{{
和}
,因此这是一个问题。为了绕过这一点,在如上所示的Vue定义中,添加了一行<代码>分隔符:['[',']]']告诉Vue使用[[[
和]]
,因此这是您在main.twig
中看到的内容