Table of Contents
回复内容:
关于模板文件的位置
关于Bundle
如何判断是否需要创建一个Bundle?
参考如下独立(可重复使用)Bundle的文件结构(摘自Symfony官网文档)
最后,附上Symfony关于最佳实践(Best Practice)的链接网址
Home Backend Development PHP Tutorial 为什么symfony的crud生成的模板文件放在app目录下的?

为什么symfony的crud生成的模板文件放在app目录下的?

Jun 06, 2016 pm 08:19 PM
php symfony

我想放在src目录下

回复内容:

我想放在src目录下

关于模板文件的位置

模板文件放在src目录下只有一种原因:你的模板文件属于“可重复使用的Bundle(Reusable Bundle)”!


如果是上面这种情况,比如Bundle名称是AcmeBlogBundle,那么模板文件的位置通常是"src/Acme/Bundle/BlogBundle/Resources/views"。但是这种情况的前提是,你的Bundle是可重复使用的,即可以直接放到别的项目中使用。


如果不是这种情况(通常情况下不是,除非你在开发一个第三方Bundle,比如FOSUserBundle这样),那么模板文件放到"app/Resource/views"下则是符合Symfony的惯例(convention)和推荐的。


关于Bundle

Best Practice

Create only one bundle called AppBundle for your application logic

如上(摘自Symfony官方文档),Symfony官方的最佳实践(Best Practice)推荐一个应用只需要创建一个Bundle(AppBundle)就够了。其实用Symfony命令创建应用时,这个Bundle就已经建好了。

如何判断是否需要创建一个Bundle?

  1. 当你有多个项目,能够用到同样一种应用逻辑(Domain Logic)的时候,你可以把这一套应用逻辑作为一个独立的Bundle抽象出来。

  2. 独立的Bundle的应用逻辑不可以依赖其他的Bundle,否则其就不是独立的Bundle了。

  3. 当你创建独立(可重复使用)的Bundle的时候,自然,包括与其相关的模板、配置文件等都可以放到其自己的文件结构下。


参考如下独立(可重复使用)Bundle的文件结构(摘自Symfony官网文档)

<code><your-bundle>/
├─ AcmeBlogBundle.php
├─ Controller/
├─ README.md
├─ LICENSE
├─ Resources/
│   ├─ config/
│   ├─ doc/
│   │  └─ index.rst
│   ├─ translations/
│   ├─ views/
│   └─ public/
└─ Tests/</your-bundle></code>
Copy after login

最后,附上Symfony关于最佳实践(Best Practice)的链接网址

Symfony Best Practices
Best Practices for Reusable Bundles

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

In this chapter, we are going to learn the following topics related to routing ?

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

See all articles