symfony学习笔记---1.2 symdony结构

<来自 https://openclassrooms.com/courses/developpez-votre-site-web-avec-le-framework-symfony/vous-avez-dit-symfony>


1 文件结构 L'architecture de fichier

     目录列表 Liste des répertoires

  • app

  • bin

  • src

  • tests

  • var

  • vendor

  • web

    /app : 包含所有有关你网站的东西,除了他们的源代码,目的是为了区分。在symfony中,一个网站项目被视作一个application。

    /bin : 系统源文件

    /src :(主要)放网站源代码的,代码以bundles形式被组织。

    /tests:放测试文件的

    /vendor : 所有外部库(bibliothèques externes)

    /var : log,cache等,系统自动记录的

    /web:放目的给访客的文件(image,css,js等),前端控制器le contrôleur frontal (front controllerapp.phpapp_dev.php. 是访客唯一能访问的目录。

有两个app.php:一个给访客,一个给开发调试。是两个工作环境


Concrètement, que « contrôle » le contrôleur frontal ?

Q:谁控制前端控制器?

A: 它其实是一个进入网站的入口,所以他被视作一个文件。

概念结构 L'architecture conceptuelle

遵循MVC结构(Modèle / Vue / Contrôleur)

    Le Contrôleur (ou Controller) : 管理处理访客发出的HTTP请求

    Le Modèle (ou Model) : 管理数据和内容。是一个抽象层(C'est une couche d'abstraction.)

    La Vue (ou View) : 显示页面

一个请求在symfony中怎么运行:


1. 访客请求页面/platform

2. 前端控制器接受请求转交给kernel

3. kernel向路由器(routeur)要求哪个控制器执行这个URL /platform。routeur是symfony的一个组件,他最后告诉kernel执行控制器OCPlatform:Advert

4. kernel执行这个控制器。该控制器向modelAnnonce要求liste des annoncesListeAnnonces和la donne à la vue,为了能生成网页。

图片中绿色的是MVC,需要我们开发。橙色的是kernel和routeur,需要我们配置;灰色的不需要动。


BUNDLES

un bundle est une brique de votre application.

在symfony中,一个Bundle是相关功能的程序集合,比如所有有关blog的集合。


bundle社区:http://knpbundles.com


其中几种bundle:

FOSUserBundle :用来管理用户,包含model utilisateur,controller用来实现各种操作(登入,注册,修改用户等),还有view。

等等。。


bundle结构

包含包括MVC结构,class等很多东西,总之是所用与实现bundle功能相关的东西。下面是bundle的目录结构:

/Controller          | Contient vos contrôleurs
/DependencyInjection | Contient des informations sur votre bundle (chargement automatique de la configuration par exemple)
/Entity              | Contient vos modèles
/Form                | Contient vos éventuels formulaires
/Resources
-- /config             | Contient les fichiers de configuration de votre bundle (nous placerons les routes ici, par exemple)
-- /public             | Contient les fichiers publics de votre bundle : fichiers CSS et JavaScript, images, etc.
-- /views              | Contient les vues de notre bundle, les templates Twig


总结:

  • Symfony est organisé en six répertoires : app, bin , src, var , vendor et web. 包含六个目录

  • Le répertoire dans lequel on passera le plus de temps est src, il contient le code source de notre site. 我们使用最多的是src目录,包含源代码

  • Il existe deux environnements de travail : 两种工作环境。

    • L'environnement « prod » est destiné à vos visiteurs : il est rapide à exécuter, et ne divulgue pas les messages d'erreur.  prod给访客

    • L'environnement « dev » est destiné au développeur, c'est-à-dire vous : il est plus lent, mais offre plein d'informations utiles au développement. dev给开发者

  • Symfony utilise l'architecture MVC pour bien organiser les différentes parties du code source. 使用MVC结构

  • Un bundle est une brique de votre application : il contient tout ce qui concerne une fonctionnalité donnée. Cela permet de bien organiser les différentes parties de votre site.  bundle是用来实现给定功能的程序块。

  • Il existe des milliers de bundles développés par la communauté, pensez à vérifier qu'il n'existe pas déjà un bundle qui fait ce que vous souhaitez faire !  在bundle社区存在很多bundles


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值