何时使用继承:

您有50页共享相同的布局 – 您创建一个layout.twig作为父,每个页面扩展该layout.twig。所以父类是通用的,子类是特定的。

何时使用包括:

在50页中,有6页共享一块HTML – 你创建一个shared-chunk.twig并将其包含在这6页中。

另一种用法:

你注意到你的layout.twig比较凌乱,你想模块化它,所以你拆开sidebar.twig到一个单独的文件,并包括在layout.twig。

你可以使用include继承用例:

当然,为标题,页脚和你有什么,创建块,并在50页的每个页中使用包含。但是这是错误的设计,如上所述。

您可以为include用例使用继承:

当然,在父layoutTwig中为共享块创建一个空块,并创建一个第二级子布局 – 扩展layout.twig并填充块块,并且上面示例中的6页共享该块然后可以扩展layout-with-chunk.twig而不是layout.twig。但是这又是错误的设计,因为块块不是所有的孩子共享,不应该进入基本父级。此外,你混乱了继承树。

所以:

如上所述 – 这是一个设计问题,而不是可编程性。这不是关于:我可以使用不同的编程技术,它的使用是更好的设计实现相同的结果。

php扩展包是什么意思,php – 扩展或包括 – 什么是更好的Twig?相关推荐

  1. 【Google Play】APK 扩展包 ( 2021年09月02日最新处理方案 | 制作 APK 扩展包 | 上传 APK 扩展包到 Google Play | APK 扩展文件上传时机 )

    文章目录 一.制作 APK 扩展包 二.上传 APK 和 主扩展文件到 Google Play 三.APK 扩展文件上传时机 一.制作 APK 扩展包 apk.txt 内容 : APK 扩展文件测试文 ...

  2. python扩展包安装_python怎么安装扩展包

    以安装扩展包SymPy为例: 方式一: 格式:pip install xxx //xxx:包名 示例:pip install SymPy 方式二: 如果有安装Git,也可以使用pip+git的方式安装 ...

  3. java 扩展包_使用Theia——创建扩展包

    ... @injectable() export class HelloWorldMenuContribution implements MenuContribution { registerMenu ...

  4. python安装第三方扩展包_Python之安装第三方扩展库

    PyPI 地址:https://pypi.python.org/pypi 如果你知道你要找的库的名字,那么只需要在右上角搜索栏查找即可. 1.pip安装扩展库 (1)安装最新版本的扩展库: cmd&g ...

  5. python3.7.2怎么安装和管理扩展包_怎么安装python扩展包管理工具pip

    python get-pip.py 执行完成后,在python的安装目录下的Scripts子目录下,可以看到pip.exe.pip2.7.exe.pip2.exe等,这就表示pip安装成功了. 注意: ...

  6. php 验证码 扩展,使用 Captcha 扩展包 为 Laravel 5 应用生成验证码

    1.安装 我们通过 Composer 安装Captcha 扩展包 : composer require mews/captcha 注:Windows中使用该扩展包还需要安装 GD2 扩展(在 php. ...

  7. java 拓展包放哪,安装扩展包(Install External Libraries)

    在CDH平台上为Streamsets导入扩展包前, 先设置一个用来存储这些扩展包的目录 在Cloundera管理平台界面中, 选择StreamSets服务 然后点击Configuration. 在 C ...

  8. STM32CubeMX 软件包和扩展包下载教程

    先点赞,再看博客,顺便点个关注鼓励一下. 如果文章看完,觉得不错的话可以点个收藏,日后不迷路. STM32CubeMX 软件包和扩展包下载教程 1 前言 1.1 STM32CubeMX 1.2 准备工 ...

  9. Flask扩展包安装出现错误:Could not find a version that satisfies the requirement ...

    Flask扩展包安装出现错误 安装扩展包flask-bootstrap 出现错误,如下: 对pip进行更新 : python -m pip install --upgrade pip

最新文章

  1. C#中计时器Stopwatch的使用
  2. js正则表达式test()和exec()用法
  3. P4318,bzoj2440-完全平方数【二分答案,莫比乌斯函数,容斥】
  4. 工作记录四-etcd与flanneld
  5. 安全云服务的定义和特征
  6. wcf、web api、webservicer 之间的区别
  7. 二叉树的遍历|前序、中序、后序、层序遍历
  8. 语音合成软件-完全免费版本
  9. kettle使用 - 关闭Carte服务
  10. 简单学JAVA-Java学习方法-JavaSE阶段
  11. python如果否则_Python传递参数(如果已定义),否则使用defau
  12. 闫刚 linux下对u盘进行分区格式化
  13. 语音质量检测 梅尔倒谱失真MCD
  14. 局域网arp攻击_本地复现 ARP欺骗攻击
  15. 谷歌浏览器(电脑端)
  16. “应用程序配置不正确”解决方案
  17. 用于3D成像显微镜的双螺旋PSF
  18. 用python生成邮件正文html表格
  19. 大数据培训课程自定义组件Source
  20. postgreSql按位运算、二进制十进制十六进制的表法和转换

热门文章

  1. 百度小程序opencard书法字典名家书法等测试日志记录
  2. opencv dnn完整示例
  3. 百度飞浆行人多目标跟踪笔记
  4. mxnet is not presented
  5. error LNK2019: 无法解析的外部符号 public: virtual void * __thiscall
  6. imagesc demo
  7. 四.MongoDB 概念解析
  8. php爬取ckplayer,CKplayer站外调用示例附最终效果
  9. mysql设计表时 varchar长度_设计表的时候,对变长字段长度选择的一点思考
  10. android view禁用,Android 禁止ViewPager的自带滑动效果