周葉++王亮亮++覃其益++張佳偉
摘要:近三年,網(wǎng)絡(luò)教育飛速發(fā)展,平臺(tái)和學(xué)員數(shù)量都得到高速增長(zhǎng)。新疆作為西北地區(qū)多民族聚居地,多種語(yǔ)言文字并行使用的地區(qū),但民語(yǔ)化的在線教育平臺(tái),寥寥無(wú)幾,平臺(tái)質(zhì)量就更跟不上時(shí)代的發(fā)展?;谛陆平逃夹g(shù)資源實(shí)驗(yàn)室多年的研究成果,利用PHP的大型企業(yè)框架Symfony開(kāi)發(fā)一套基于SAAS云模式的多語(yǔ)種在線教育云平臺(tái)。
關(guān)鍵詞:在線教育;多語(yǔ)種;PHP;Symfony;Mysql
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)32-0086-04
Design and Implementation of Symfony - based Online Multilingual Education Platform
ZHOU Ye1,2, WANG Liang-liang1,2, QIN Qi-yi1,2, ZHANG Jia-wei1,2
(1. Modern Education Technology Center, Xinjiang Teachers College, Urumqi 830043, China; 2. Xinjiang Key Laboratory of Education Cloud Technology and Resources, Urumqi 830043, China)
Abstract: During the past three years, the numbers of online education platforms and students have both increased at a high speed along with the rapid development of online education. Xinjiang is a multi-ethnic settlement in Northwest China with multiple languages in use, but it's in short of online education platforms for folk languages, the quality of which cannot even keep up with the development pace of the times. Based on the years research achievements of Cloud Education Technology Resource Laboratory in Xinjiang, an SAAS cloud model-based online multilingual education platform has been developed by way of PHP complex enterprise framework Symfony so as to provide a network for platform Xinjiang-featured multi-lingual education.
Key words: online education; multilanguage; PHP; Symfony; Mysql
1 背景
近三年,在線教育進(jìn)入快速發(fā)展期,特別在K12教育、企事業(yè)培訓(xùn)、繼續(xù)教育、大中專院校等領(lǐng)域出現(xiàn)眾多平臺(tái),形式也多種多樣如:微課、慕課、翻轉(zhuǎn)課堂、線上線下混合式教學(xué)等。筆者在新疆,位于西北邊陲之地。新疆是2013年習(xí)總書(shū)記提出發(fā)展絲綢之路經(jīng)濟(jì)帶的核心區(qū),擁有2360萬(wàn)人口,其中維吾爾族全區(qū)人口最多達(dá)1127.19萬(wàn)人占48.53﹪,網(wǎng)民數(shù)量達(dá)1140多萬(wàn),互聯(lián)網(wǎng)普及率近50%。筆者對(duì)比目前市面上的眾多在線教育平臺(tái),存在對(duì)民語(yǔ)支持不足,兼容性不夠,不能適應(yīng)當(dāng)前主流教學(xué)模式等問(wèn)題,不能滿足新疆在線教育推進(jìn)需要,為此設(shè)計(jì)開(kāi)發(fā)了本土化的多語(yǔ)言網(wǎng)絡(luò)教育平臺(tái),有效利用網(wǎng)絡(luò)實(shí)現(xiàn)多語(yǔ)種學(xué)習(xí)培訓(xùn),為絲綢之路經(jīng)濟(jì)帶培育多語(yǔ)人才,促進(jìn)區(qū)域文化教育事業(yè)發(fā)展。
2 遠(yuǎn)程教育系統(tǒng)發(fā)展現(xiàn)狀
2.1 民語(yǔ)教育平臺(tái)缺乏
新疆在線教育平臺(tái),受制于區(qū)域信息化發(fā)展程度較低,網(wǎng)絡(luò)教育平臺(tái)較少。其中主要原因就是少數(shù)民族語(yǔ)言與國(guó)家主體漢語(yǔ)言存在溝通問(wèn)題,支持新疆少數(shù)民族語(yǔ)言的平臺(tái)筆者沒(méi)有見(jiàn)到大規(guī)模部署應(yīng)用的系統(tǒng)。
2.2 設(shè)備利用率低
隨著“寬帶中國(guó)”戰(zhàn)略實(shí)施,網(wǎng)絡(luò)基礎(chǔ)設(shè)施已大幅改善。十二五期間“三通兩平臺(tái)”的建設(shè)為推進(jìn)教育信息化建設(shè)奠定了基礎(chǔ)。然而,受制于缺乏專業(yè)的維護(hù)人員,經(jīng)常出現(xiàn)設(shè)備得不到及時(shí)解決。
2.3 教學(xué)模式落后
教學(xué)過(guò)程,比較簡(jiǎn)單,互動(dòng)性差,缺乏優(yōu)秀課程資源。學(xué)習(xí)課程相當(dāng)一部分以文字閱讀為主。教育技術(shù)在現(xiàn)實(shí)教育過(guò)程中,運(yùn)用程度低。
2.4 優(yōu)秀師資匱乏
新疆本身師資力量就缺少,據(jù)粗略統(tǒng)計(jì)顯示,每年缺口在1萬(wàn)名左右。教師普遍超額代課,壓縮了老師學(xué)習(xí)時(shí)間和繼續(xù)教育時(shí)間,導(dǎo)致老師知識(shí)更新緩慢,形成惡性循環(huán)。優(yōu)秀師資多集中在大城市,缺少互動(dòng)機(jī)會(huì)。
3 系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)目標(biāo)
支持新疆主體民族漢、維語(yǔ)言,使各民族學(xué)員快速適應(yīng)平臺(tái),簡(jiǎn)化平臺(tái)使用難度;采用SaaS云模式提供服務(wù),降低終端設(shè)備故障率;系統(tǒng)具備分布式部署,利于系統(tǒng)拆分及大規(guī)模應(yīng)用;采用科學(xué)合理的教育過(guò)程及評(píng)價(jià)機(jī)制,確保教育質(zhì)量;充分利用信息技術(shù),采用多種形式的多媒體資源,豐富教學(xué)過(guò)程,同時(shí)將名師、優(yōu)秀資源共享,從而實(shí)現(xiàn)教育公平;深度結(jié)合教學(xué)活動(dòng)各個(gè)環(huán)節(jié),為“互聯(lián)網(wǎng)+教育”奠定基礎(chǔ)。
3.2 系統(tǒng)需求分析
在線教育平臺(tái)主要滿足于學(xué)校、企事業(yè)單位、職業(yè)培訓(xùn)等領(lǐng)域在線學(xué)習(xí)。系統(tǒng)的角色主要是學(xué)員、教師、小組管理員、系統(tǒng)管理員。學(xué)員學(xué)習(xí)課程、在線考試、查詢學(xué)習(xí)記錄、查詢證書(shū)。教師、小組管理員、系統(tǒng)管理員都繼承學(xué)員的功能。教師可以管理課程、發(fā)布課程、管理題庫(kù)、管理試卷。小組管理員可以查看本小組成員的學(xué)習(xí)情況。系統(tǒng)管理員完成系統(tǒng)參數(shù)配置管理,擁有系統(tǒng)最高權(quán)限。系統(tǒng)功能用例圖如圖1。
3.3 系統(tǒng)運(yùn)行環(huán)境
系統(tǒng)運(yùn)行在成熟的LNMP架構(gòu),LNMP架構(gòu)是全部采用開(kāi)源軟件實(shí)現(xiàn)的一種高效的Web運(yùn)行環(huán)境,是當(dāng)今世界上互聯(lián)網(wǎng)企業(yè)的主流架構(gòu)。LNMP指的Linux(操作系統(tǒng))、Nginx(Web服務(wù)器)、MySQL(數(shù)據(jù)庫(kù)軟件)和PHP(腳本語(yǔ)言),具有通用、跨平臺(tái)、高性能、免費(fèi)的優(yōu)勢(shì)。
3.4 系統(tǒng)開(kāi)發(fā)環(huán)境
系統(tǒng)集成開(kāi)發(fā)環(huán)境使用PhpStorm是 JetBrains 公司開(kāi)發(fā)的一款商業(yè)的 PHP 集成開(kāi)發(fā)工具,具有智能代碼補(bǔ)全,快速導(dǎo)航、單元測(cè)試、可視化debug功能。軟件實(shí)現(xiàn)基于成熟開(kāi)源的PHPWeb框架Symfony2。它基于MVC架構(gòu)實(shí)現(xiàn),允許在一個(gè)web應(yīng)用中分離事務(wù)控制,服務(wù)邏輯和表示層。具有強(qiáng)大的可擴(kuò)展性,利用Bundle的概念使框架可以無(wú)限制擴(kuò)展,乃至框架本身就是一個(gè)Bundle,并且可以利用symfony來(lái)構(gòu)成自己所需的PHP框架。默認(rèn)整合了Twig模板,Doctrine ORM等,具備 PHP本身的簡(jiǎn)潔,明析與速度快的優(yōu)點(diǎn)也結(jié)合了Java領(lǐng)域框架的強(qiáng)大性和Ruby on Rails敏捷開(kāi)發(fā)概念的全能型框架。目前世界最流行的CMS系統(tǒng)-Drupal的采用Symfony2和世界PHP框架排行第一的laravel也是基于它實(shí)現(xiàn)的,可見(jiàn)其強(qiáng)大及靈活之處。
4 Symfony執(zhí)行流程
當(dāng)用戶請(qǐng)求網(wǎng)站時(shí),觸發(fā)Symfony2的具體請(qǐng)求流程如下:
1)用戶瀏覽器訪問(wèn)系統(tǒng)入口app.php文件。
2)Symfony2 Kernel 根據(jù)路由配置信息,執(zhí)行對(duì)應(yīng)的Contoller中的Action方法。
3)Action 方法正確執(zhí)行,輸出相應(yīng)的結(jié)果對(duì)象Response。
請(qǐng)求處理活動(dòng)圖,如圖2所示。
5 網(wǎng)站多語(yǔ)種關(guān)鍵技術(shù)實(shí)現(xiàn)
網(wǎng)站多語(yǔ)化是抽象字符串的過(guò)程,它從你的應(yīng)用程序中取出其它特定的語(yǔ)言環(huán)境部分并放入一個(gè)可以基于用戶所在語(yǔ)言環(huán)境(如語(yǔ)言和國(guó)家)將其翻譯和轉(zhuǎn)換的層。
5.1 多語(yǔ)種字體制作
維吾爾文和哈薩克文屬于阿爾泰語(yǔ)系,漢語(yǔ)的國(guó)標(biāo)2312字符集是不支持維爾文和哈薩克文,在中文字符集下會(huì)因?yàn)闊o(wú)法兼容而導(dǎo)致顯示亂碼。Unicode是雙字節(jié)編碼的字符集,有65536個(gè)不同字符,幾乎涵蓋現(xiàn)有世界文字的每一個(gè)字符。對(duì)于多語(yǔ)種網(wǎng)站,Unicode是一種合適的選擇。文字的字體需要將現(xiàn)有的漢語(yǔ)、維吾爾文、哈薩克文3種文字字體使用fontcreator合成一種新的支持多語(yǔ)言的字體,從而實(shí)現(xiàn)多語(yǔ)化呈現(xiàn)。
5.2 網(wǎng)頁(yè)多語(yǔ)種顯示
CSS層疊樣式表是一種用來(lái)美化HTML等文件的計(jì)算機(jī)語(yǔ)言,可以控制網(wǎng)頁(yè)的樣式和布局。其中CSS的@ font-face規(guī)則允許你使用自定義字體,展現(xiàn)個(gè)性化字體風(fēng)格,即使訪問(wèn)者的計(jì)算機(jī)上沒(méi)有安裝自定義字體,也可以正常工作,作為一個(gè)解決方案,展示自定義字體。在CSS 中引入以下內(nèi)容,即可正常顯示多種語(yǔ)言。
@font-face {font-family: " ALKATIP Tor";
src: url('fonts/alkatip-font.eot'); /* IE9*/
src: url('fonts/alkatip-font.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('fonts/alkatip-font.woff') format('woff'), /* chrome、firefox */
url('fonts/alkatip-font.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
url('fonts/alkatip-font.svg#consultfont') format('svg'); /* iOS 4.1- */
body {
font-family: " ALKATIP Tor";
}
5.3 啟用Symfony的多語(yǔ)言服務(wù)組件
多語(yǔ)言翻譯通過(guò)Translator服務(wù)來(lái)處理,該服務(wù)使用用戶的語(yǔ)言環(huán)境去查找資源文件并返回翻譯消息。在配置文件中啟動(dòng)翻譯:
# app/config/config.yml
framework:
translator: { fallback: en }
templating:
engines: ['twig']
assets_version: 4.6.3
fallback選項(xiàng)定義一個(gè)回退語(yǔ)言環(huán)境,這樣當(dāng)用戶語(yǔ)言環(huán)境對(duì)應(yīng)的翻譯不存在時(shí)使用該回退語(yǔ)言環(huán)境。
5.4 利用Symfony的Twig組件構(gòu)建多語(yǔ)種網(wǎng)頁(yè)
Twig是一個(gè)現(xiàn)代PHP模板引擎之一,功能比較全面,將模板編譯為優(yōu)化的PHP代碼,系統(tǒng)開(kāi)銷(xiāo)很小,執(zhí)行效率高。提供模板繼承功能,在翻譯代碼過(guò)程中,自動(dòng)轉(zhuǎn)義代碼,提供一種安全的沙盒模式。所有這些特性為T(mén)wig提供了良好的擴(kuò)展性。靈活的詞法分析程序和分析器讓開(kāi)發(fā)人員能夠定義自己的標(biāo)記、過(guò)濾器等。
Symfony2提供特定的Twig標(biāo)簽trans和transchoice來(lái)實(shí)現(xiàn)多語(yǔ)言。標(biāo)簽會(huì)根據(jù)用戶的語(yǔ)言環(huán)境讀取相應(yīng)的資源文件,資源文件采用Yaml格式。下圖是維語(yǔ)資源文件messages.uy.yml的部分內(nèi)容。如圖3所示。
圖3 網(wǎng)頁(yè)文字維語(yǔ)部分資源
Twig模板中書(shū)寫(xiě)以下模板內(nèi)容
{% trans %}我的考試{% endtrans %}
5.5 基于URL構(gòu)造語(yǔ)言環(huán)境
基于會(huì)話保存用戶語(yǔ)言環(huán)境,不同語(yǔ)言頁(yè)面使用統(tǒng)一URL,導(dǎo)致特定URL返回的資源與用戶有關(guān),違反了Web的基本原則。既保證URL的唯一性,又能支持多語(yǔ)種,將語(yǔ)言環(huán)境包含在URL中是一種選擇。通過(guò)在路由系統(tǒng)中指定_locale參數(shù),轉(zhuǎn)換用戶的語(yǔ)言環(huán)境。如下:
[1
2
3
4
5\&home:
pattern: /{_locale}/homne
defaults: { _controller:XacsBundle:Home:index,
_locale: en }
requirements:
_locale: en|cn|uy\&]
如果用戶訪問(wèn)/uy/home的URI,uy代表的維吾爾語(yǔ)語(yǔ)言環(huán)境將自動(dòng)在用戶會(huì)話中作為語(yǔ)言環(huán)境被設(shè)置。
6 系統(tǒng)功能實(shí)現(xiàn)
多語(yǔ)種在線教育云平臺(tái)以SAAS方式向用戶提供在線學(xué)習(xí)服務(wù)。用戶通過(guò)注冊(cè)登錄學(xué)員系統(tǒng),進(jìn)入系統(tǒng)后切換使用語(yǔ)言界面。為學(xué)員提供課程瀏覽、購(gòu)買(mǎi)課程、學(xué)習(xí)課程、考試、查詢證書(shū)、個(gè)人信息管理等功能。漢語(yǔ)學(xué)習(xí)界面如圖4所示。
教師、小組管理員、系統(tǒng)管理員都繼承學(xué)員的功能。教師可以管理課程、發(fā)布課程、管理題庫(kù)、管理試卷。小組管理員可以查看本小組成員的學(xué)習(xí)情況。系統(tǒng)管理員完成系統(tǒng)配置管理。教師管理課程界面如圖6所示。
7 結(jié)束語(yǔ)
隨著網(wǎng)絡(luò)的興起,各大中學(xué)??赏ㄟ^(guò)建立網(wǎng)上學(xué)校,加強(qiáng)學(xué)校、老師、學(xué)生之間的相互交流溝通,提高教學(xué)質(zhì)量,建設(shè)精品課程,宣傳學(xué)校的教育實(shí)力。結(jié)合新疆多民族混合居住的特點(diǎn),利用PHP大型互聯(lián)網(wǎng)企
業(yè)框架Symfony構(gòu)造多語(yǔ)種在線教育云平臺(tái),面向全疆提供優(yōu)秀的教育云服務(wù)及教育資源,同時(shí)新疆作為絲綢經(jīng)濟(jì)帶的核心區(qū),帶有向中亞傳播文化的責(zé)任,本系統(tǒng)對(duì)新疆本地化網(wǎng)絡(luò)教育發(fā)展奠定基礎(chǔ),為新疆開(kāi)展小語(yǔ)種網(wǎng)絡(luò)教育提供條件,促進(jìn)地區(qū)經(jīng)濟(jì)、文化教育事業(yè)發(fā)展。
參考文獻(xiàn):
[1] 琳達(dá)·哈拉西姆, 肖俊洪. 協(xié)作學(xué)習(xí)理論與實(shí)踐——在線教育質(zhì)量的根本保證[J]. 中國(guó)遠(yuǎn)程教育, 2015(8): 5-16,79.
[2] 管佳, 李奇濤. 中國(guó)在線教育發(fā)展現(xiàn)狀、趨勢(shì) 及經(jīng)驗(yàn)借鑒[J]. 中國(guó)電化教育, 2014(8): 62-66.
[3] 王業(yè), 楊琴, 王亮亮. 一種多語(yǔ)言網(wǎng)站解決方案[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2014, 23(7): 89-93.
[4] 郭名芳, 林予松, 王宗敏. 按需索取的中文 Web Fonts 技術(shù)研究[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2013, 30(6): 63-66.
[5] 扎尼諾托,波唐西. Symfony權(quán)威指南[M]. 江樂(lè),譯.北京: 電子工業(yè)出版社, 2008.
[6] Armand, Sebastien.Extending Symfony 2 Web Application[M]. Birmingham:Packt Publishing, 2014.
[7] 王莉. 基于PHP的在線學(xué)習(xí)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子技術(shù)與軟件工程, 2015(22): 62.
[8] 斯克拉, 切貝特伯格. PHP經(jīng)典實(shí)例[M]. 南京: 東南大學(xué)出版社, 2015.