實體與 Doctrine
Chamilo 2.0 擁有橫跨兩個 bundle 的 314 個 Doctrine 實體。以下僅提及主要實體。
實體組織
CoreBundle 實體 (213)
平台層級實體:
Users
User, UserRelUser, AccessUrl, AccessUrlRelUser
Courses
Course, CourseCategory, CourseRelUser
Sessions
Session, SessionRelUser, SessionRelCourse, SessionRelCourseRelUser
Resources
ResourceNode, ResourceFile, ResourceLink, ResourceType
Settings
SettingsCurrent, SettingsOptions
Messages
Message, MessageRelUser, MessageAttachment
Tracking
TrackELogin, TrackEOnline, TrackEDefault
Skills
Skill, SkillRelUser, SkillRelProfile
AI
AiRequests
Plugins
Plugin, AccessUrlRelPlugin
Social
Usergroup, UsergroupRelUser
xAPI
XApiObject, XApiResult, XApiActivityState
CourseBundle 實體 (101)
課程內容實體 — 皆以 C 開頭:
Documents
CDocument
Exercises
CQuiz, CQuizQuestion, CQuizAnswer, CQuizQuestionCategory
Learning paths
CLp, CLpItem, CLpView, CLpItemView, CLpCategory
Forums
CForum, CForumCategory, CForumThread, CForumPost
Assignments
CStudentPublication, CStudentPublicationAssignment, CStudentPublicationComment
Surveys
CSurvey, CSurveyQuestion, CSurveyAnswer, CSurveyInvitation
Attendance
CAttendance, CAttendanceCalendar, CAttendanceResult
Blogs
CBlog, CBlogPost, CBlogComment, CBlogTask
Other
CCalendarEvent, CGlossary, CLink, CLinkCategory, CNotebook, CWiki
命名慣例
CoreBundle 實體:標準 PascalCase(例如
User、Course、Session)CourseBundle 實體:以
C開頭(例如CDocument、CQuiz、CLp)
此前綴用以區分課程範圍內容實體與平台層級實體(符合舊有資料庫表格命名方式)。隨著更多工具轉換為無特定課程強連結的全球工具,此區分可能在未來消失。
主要關聯關係
關聯關係通常以 Rel 分隔符顯示。
User ↔ Course
CourseRelUser 儲存註冊狀態(TEACHER = 1, STUDENT = 5)。
User ↔ Session ↔ Course
ResourceNode (內容抽象)
所有課程內容實體透過 ResourceNode 連接到資源系統:
詳見 資源系統。
Doctrine 擴充套件
Chamilo 使用 Gedmo Doctrine Extensions(透過 stof/doctrine-extensions-bundle):
Tree — 階層式資料(ResourceNode 使用實體化路徑)
Timestampable — 自動
createdAt/updatedAt欄位Sluggable — URL 友善的 slug
Sortable — 可排序集合
最後更新於
這有幫助嗎?