EDUSOHO踩坑笔记之四:edusoho的目录结构

  • Post author:
  • Post category:其他


EDUSOHO踩坑笔记之四:edusoho的目录结构

中国古语说的好:山有多高,水就有多深。技术也是如此,edusoho是基于开源的symfony框架开发的;但凡用框架开发的系统,就会给人一种高大上的感觉了,尤其在配上一个能说会倒的布道者,讲的唾沫星子的横飞的时候,这个技术框架就让人高山仰止、顶礼膜拜了。也可能成为演讲者的泡妞神器了,说不定还能感化几个美女程序员,然后成功脱单了。

闲话少扯,还是回到正题,技术这个东西会在不难,难着不会!尤其是套上了技术框架的光环后,往往会给阅读者一个神秘的感觉,让人心生畏惧了!尤其是小菜鸟这个级别,遇上这个东西,就会抓耳挠腮,不知所终了。从本节开始就启动我们的破神旅程,逐渐深入edusoho的架构。

再神秘的程序和事情,都要有其构造和外形,虽然软件系统它是个逻辑体,但是作为一个运行的软件,必然就是由目录、文件等构成,这些目录和文件,通过面向对象机制、继承、依赖等技术,关系起来就形成了程序的框架:所以本章开始介绍edusoho的目录结构:在软件体系中,目录结构表现为树,那么我就下面就描述edusoho这个树:

edusoho/

|  —  app

|  —   src

|  —  Custom

|  —  AdminBundle

|  —  Webbundle

|  —  Topxia     :Topxia Framework框架

|  —  AdminBundle    管理后台代码目录

|  — Controller     控制器

|  —  DependencyInjection

|  —  Resources   资源

|  —  config

|  —  doc

|  —  translations  中英文版本对应提示

|  —  views   视图层对应相应的控制器:用到twig模板

|  —  Common    程序通用类

|  —  Component

|  —  DataTag       模板标签目录

|  —  MobileBundle

|  —  MobileBundelV2

|  —  Service    核心业务代码目录:业务逻辑层,相当于Modle层

|  —  User   用户服务

|  —  Dao    Dao层  :数据持久化层

|  —  Imple  接口

|  —  AuthService.php

|  —  webBundle  前台界面代码目录

|  —  Command

|  — Controller     控制器

|  —  DataDict

|  —  DependencyInjection

|  —  Resources   资源

|  —  config

|  —  doc

|  —  translations  中英文版本对应提示

|  —  views  视图层对应相应的控制器:用到twig模板

|  —  System.php   系统版本

|  —  vendor

|  —  composer  php 依赖管理工具

|  —  doctrine  php关联映射框架

|  —  endroid

|  — ezyang

|  —  gregwar

|  — imagine  图形处理类库

|  —  jdorn

|  —  kriswallsmith

|  —  monolog   php日志记录工具

|  —  phpoffice  phpexcel

|  —  psr

|  —  sensio

|  — swiftmailer   php邮件类

|  —  symfony

|  — twig 模板引擎

|  — autoload.php

|  —  vendor_user

|  —  web

|  —  assets  资源库

|  —   css

|  —  fonts

|  —  img

|  —  libs   外部组件库目录,包括: 1.seajs  2. jquery  3.

|  —  seajs   sea.js组件

|  —  gallery

|  —  backbone    为复杂的javascript提供模型

|  —  handlebars   javascript 语义模板库

|  —  json     json转化工具

|  —  moment   javacript 日期处理类库

|  —  morris   生成各种时序图

|  —  rapheal   在网页中生成矢量图的类库

|  —  selection

|  —  swfobject    在html中方便插入swf的javascript类库

|  —  underscore

|  —  gallery2

|  —  bootstrap     前段框架:bootstrap

|  —  kindeditor     编辑器组件

|  —  mediaelement   html5视频播放器

|  —  swfupload         文件上传工具

|  —  video-js          视频播放插件

|  —  webuploader    文件上传工具

|  —   juqery    jquery 类库

|  —  jquery-plugin     jquery类库

|  —  jquery.colorbox     jquery类库

|  —  jquery.countdown    jquery类库

|  —  player

|  — screenfull  javacricpt 全屏插件

|  — store   实现本地存在

|  —  html5shiv.js   让不支持html5的浏览器正常运行IE6  IE7  IE8

|  —  respond.js     让不支持CSS3 的浏览器 提供支持

|  —  seajs-global-config.js   暂时不知道干什么

|  — bundles  程序前后台资源文件:js   css

|  —  themes  程序主题目录

|  —  app_dev.php  开发环境下程序入口文件

|  —  app.php   部署环境下程序入口文件

上面是edusoho早期的版本的树结构描述,发展到今天已经到了V8.6.20版本,以上的目录结构已经发生了中大的改变,但上面的部分目录仍然存在,对开发者仍然具有借鉴和指导意义。下面一节开始介绍edu后台的结构目录。



版权声明:本文为jyl_sh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。