Yyuc-php框架的制作方法
【技術(shù)領(lǐng)域】
[0001]YYUC是一個(gè)基于PHP的高效的Web開(kāi)發(fā)框架。PHP是在服務(wù)器端執(zhí)行的腳本語(yǔ)言,具有簡(jiǎn)單易用、執(zhí)行效率高和跨平臺(tái)性好等優(yōu)點(diǎn),是目前最受歡迎的Web開(kāi)發(fā)語(yǔ)言之一。
【背景技術(shù)】
[0002]Asp,J2ee,.net, php,Ruby on Rails......,到底要選擇什么?在從事網(wǎng)絡(luò)開(kāi)發(fā)的幾年里,以上的幾種語(yǔ)言的項(xiàng)目都參與設(shè)計(jì)或開(kāi)發(fā)過(guò)。筆者通過(guò)以下幾點(diǎn)簡(jiǎn)單的篩選幫您找到答案:
1、先進(jìn)性:很顯然asp已經(jīng)不再適應(yīng)這一要求了。微軟也不再主推它,沒(méi)有先進(jìn)的程序設(shè)計(jì)思想的支撐,沒(méi)有面向?qū)ο蟮膬?yōu)勢(shì)我想除了上世紀(jì)90年代開(kāi)始開(kāi)發(fā)的程序員,已經(jīng)沒(méi)有人再會(huì)選擇他。
[0003]2、學(xué)習(xí)成本:j2ee的開(kāi)發(fā)首先要掌握java的基本程序設(shè)計(jì)基礎(chǔ),面向?qū)ο蟮乃枷?,mvc框架結(jié)構(gòu),開(kāi)源或者官方的框架平臺(tái),ssh(j2ee開(kāi)發(fā)必修),ejb,rest等等等等,百家齊放的框架,累的程序員不亦樂(lè)乎。
[0004]3、開(kāi)放性(跨平臺(tái)):.net是需要運(yùn)行在其平臺(tái)之上的,復(fù)雜的配置選項(xiàng),常常弄得你不知道到底是業(yè)務(wù)優(yōu)先還是配置優(yōu)先了,當(dāng)然.net的最大瓶頸還不在此,他所運(yùn)行的Windows環(huán)境的服務(wù)效能是無(wú)法和linux平臺(tái)相比的。
[0005]4、敏捷性:敏捷開(kāi)發(fā)無(wú)非強(qiáng)調(diào)開(kāi)發(fā)的效率,以最低的人力投入完成設(shè)計(jì)開(kāi)發(fā)、實(shí)現(xiàn)業(yè)務(wù)需求。曾經(jīng)看到過(guò)處理一個(gè)數(shù)據(jù)表的crud操作的代碼量的統(tǒng)計(jì)調(diào)查,java和C#大約在600行左右(包括配置文件),php (無(wú)框架)90行左右,Ruby on Rails 60行左右。
[0006]5、流行性:Ruby on Rails在國(guó)外已經(jīng)非常流行了,但是我想開(kāi)發(fā)過(guò)rails的程序員都有這么一個(gè)感受,一個(gè)功能Coding的時(shí)間是一個(gè)月,那其中的5天你要花在環(huán)境的搭建和相關(guān)插件的安裝上。3天的時(shí)間要花在服務(wù)器環(huán)境的配置上。同樣Rails和J2ee—樣很難獨(dú)立運(yùn)行在虛擬主機(jī)上,對(duì)于自由開(kāi)發(fā)者服務(wù)器成本也是一筆不小的開(kāi)支。
[0007]6、執(zhí)行效率:j2ee更適合大型的企業(yè)級(jí)開(kāi)發(fā),因?yàn)榛旧鲜蔷钟蚓W(wǎng),服務(wù)器內(nèi)存是10G級(jí)別的,所以我們的代碼可以一堆再堆,反正不用考慮性能和帶寬。放在互聯(lián)網(wǎng)上j2ee就顯的那么臃腫和笨重。坦率的講,這一點(diǎn)上.net的優(yōu)勢(shì)倒也是很明顯的,但是誰(shuí)又會(huì)那么笨的首選Windows服務(wù)器呢。RoR和php都是解釋執(zhí)行的,沒(méi)有編譯這一步驟,可能效率上會(huì)有一定影響,但是您不要忘了,他們的底層都是C,大量的系統(tǒng)函數(shù)和擴(kuò)展插件都是C解釋編寫的,在這種高度封裝和擴(kuò)展下,真正您自己的代碼才有多少呢? php的最大優(yōu)勢(shì)是程序不常駐內(nèi)存,雖然不能像java那樣輕松的使用像applicat1n這樣的全局對(duì)象了,但是php的服務(wù)內(nèi)存是不會(huì)增長(zhǎng)的,請(qǐng)求執(zhí)行之后就會(huì)釋放掉,像j2ee如果程序設(shè)計(jì)的不周全,Web Server內(nèi)存就會(huì)越來(lái)越大,直至當(dāng)機(jī)
經(jīng)過(guò)以上分析,php作為web開(kāi)發(fā)語(yǔ)言就是首選了。
[0008]由于PHP5之前的PHP版本對(duì)面向?qū)ο笾С植煌晟疲瑢?dǎo)致PHP的開(kāi)發(fā)框架研究從PHP5發(fā)布后才逐漸展開(kāi)。在發(fā)展過(guò)程中又受到Structs和R0R框架的嚴(yán)重影響,沒(méi)有充分考慮PHP語(yǔ)言的特點(diǎn),造成在PHP領(lǐng)域,框架的普及情況遠(yuǎn)遠(yuǎn)不如Java領(lǐng)域。
[0009]YYUC框架技術(shù)
團(tuán)隊(duì)來(lái)自不同公司研發(fā)部門的技術(shù)骨干,在多年的程序猿生涯中接觸的PHP框架如Laravel、ThinkPHP、CodeIgniter、Symfony等。開(kāi)發(fā)團(tuán)隊(duì)就框架的MVC設(shè)計(jì)模式、模板解析引擎和數(shù)據(jù)訪問(wèn)層及其在PHP中實(shí)現(xiàn)的主流方式和優(yōu)缺點(diǎn)進(jìn)行了持久的討論分析發(fā)現(xiàn)在不同程度上,以上框架普遍存缺陷。筆者就以Laravel做簡(jiǎn)單分析。
[0010]Laravel是一個(gè)簡(jiǎn)單優(yōu)雅的PHP WEB開(kāi)發(fā)框架,將你從意大利面條式的代碼中解放出來(lái)。通過(guò)簡(jiǎn)單、優(yōu)雅、表達(dá)式語(yǔ)法開(kāi)發(fā)出很棒的WEB應(yīng)用!
但是通過(guò)使用我們發(fā)現(xiàn)Laravel在開(kāi)發(fā)效率和運(yùn)行效率上都存在瓶頸。如此優(yōu)秀的框架都存在諸多問(wèn)題。
【發(fā)明內(nèi)容】
[0011]基于此我們?cè)诠粳F(xiàn)有框架的基礎(chǔ)上參照諸多框架(不限于php語(yǔ)言也參照java和ruby)的優(yōu)點(diǎn)完成一個(gè)自主設(shè)計(jì)的框架。自此,YYUC框架的開(kāi)發(fā)團(tuán)隊(duì)征集并完成組建,不斷的討論、編碼、測(cè)試、內(nèi)部開(kāi)發(fā)和合作伙伴推廣,一個(gè)完整的版本就此形成。
[0012]YY框架是一個(gè)高效穩(wěn)定的PHP框架,輕量級(jí)是她最大的優(yōu)勢(shì)。熟悉Ruby On Rails的開(kāi)發(fā)人員都知道約定優(yōu)于配置的原則,這一原則簡(jiǎn)化了程序開(kāi)發(fā)者的大量配置工作和框架思考。YY框架很大程度上借鑒并優(yōu)化了 Rails的這一設(shè)計(jì)思想。毫不夸張的講有了 YY框架其他的PHP框架就顯得有些失色。要么全面而笨重,要么簡(jiǎn)單而不穩(wěn)定,要么配置復(fù)雜難于學(xué)習(xí)和理解。
【主權(quán)項(xiàng)】
1.YYUC-PHP框架遵循開(kāi)發(fā)運(yùn)行一切從簡(jiǎn)的原則,用強(qiáng)大的框架核心支撐基于YY框架的業(yè)務(wù)代碼,一部分重要的特性和優(yōu)點(diǎn)列舉如下:智能路由MVC架構(gòu),預(yù)編譯機(jī)制,自動(dòng)類庫(kù)導(dǎo)入,ORM和驗(yàn)證統(tǒng)一,優(yōu)化查詢語(yǔ)言,動(dòng)態(tài)和靜態(tài)模型互補(bǔ),高效模板引擎,前后臺(tái)統(tǒng)一AJAX規(guī)則,國(guó)際化支持,緩存機(jī)制,多網(wǎng)站并存機(jī)制,多庫(kù)并存機(jī)制。2.根據(jù)權(quán)利要求1所述YYUC-PHP框架,其特性在于開(kāi)發(fā)人員運(yùn)用智能路由框架MVC可以方便的設(shè)計(jì)系統(tǒng)URL規(guī)則,不再需要定義單一的類,而是采用傳統(tǒng)的目錄結(jié)構(gòu)處理用戶請(qǐng)求,與傳統(tǒng)的Php開(kāi)發(fā)做到了很好的技術(shù)過(guò)度,項(xiàng)目層次更加直觀明料。3.根據(jù)權(quán)利要求1所述YYUC-PHP,其特性在于運(yùn)用了具有獨(dú)有模式轉(zhuǎn)換功能,一鍵切換開(kāi)發(fā)模式和生產(chǎn)模式的預(yù)編譯機(jī)制,根據(jù)不同的模式采取不同的編譯方案,特有的JS,CSS等文本文件的壓縮機(jī)制和GZip壓縮輸出機(jī)制,最大效率的利用網(wǎng)絡(luò)帶寬。4.根據(jù)權(quán)利要求1所述YYUC-PHP框架,其特性在于運(yùn)用自動(dòng)類庫(kù)導(dǎo)入,實(shí)現(xiàn)插件庫(kù)均采用動(dòng)態(tài)自動(dòng)加載的方案進(jìn)行按需加載,開(kāi)發(fā)者無(wú)需手動(dòng)引入,提高開(kāi)發(fā)效率。5.根據(jù)權(quán)利要求1所述YYUC-PHP框架,其特性在于運(yùn)用簡(jiǎn)潔輕巧的ORM實(shí)現(xiàn),配合簡(jiǎn)單的CURD操作接口讓開(kāi)發(fā)效率得到極大的提高,更有前后臺(tái)統(tǒng)一驗(yàn)證規(guī)則,讓開(kāi)發(fā)人員無(wú)需重復(fù)勞動(dòng),JS驗(yàn)證和PHP入庫(kù)驗(yàn)證無(wú)縫銜接。6.根據(jù)權(quán)利要求1所述YYUC-PHP框架,其特性在于優(yōu)化了查詢了語(yǔ)言,內(nèi)建豐富的查詢機(jī)制,包括組合查詢、快捷查詢、復(fù)合查詢、區(qū)間查詢、統(tǒng)計(jì)查詢、定位查詢、多表查詢、子查詢、動(dòng)態(tài)查詢和原生查詢,讓你的數(shù)據(jù)查詢簡(jiǎn)潔高效。7.根據(jù)權(quán)利要求1所述YYUC-PHP框架,其特性在于無(wú)需創(chuàng)建任何對(duì)應(yīng)的模型類,輕松完成CURD操作,對(duì)于負(fù)載的DB模型處理,開(kāi)發(fā)者可以采用自動(dòng)生成的靜態(tài)模型,進(jìn)行虛擬字段的填充與回寫,數(shù)據(jù)有效性的驗(yàn)證,模型功能的擴(kuò)展等,實(shí)現(xiàn)了動(dòng)態(tài)和靜態(tài)的模式互補(bǔ)。8.根據(jù)權(quán)利要求書I所述YYUC-PHP框架,其特性在于擁有高效模版引擎,YY框架自建的模板編譯執(zhí)行引擎,最大限度的貼合原生Php寫法,讓初學(xué)者更容易上手,高級(jí)開(kāi)發(fā)人員更靈活應(yīng)用。9.根據(jù)權(quán)利要求書I所述YYUC-PHP框架,其特性在于采用前后臺(tái)統(tǒng)一AJAX規(guī)則,三行js代碼和一行php代碼就可以完成ajax異步請(qǐng)求操作,極大的提高了開(kāi)發(fā)效率和用戶體驗(yàn)。10.根據(jù)權(quán)利要求書I所述YYUC-PHP框架,其特性在于有國(guó)際化支持,采用先進(jìn)易讀的yaml標(biāo)記語(yǔ)言,用戶語(yǔ)言自動(dòng)檢測(cè)和默認(rèn)指定,全站國(guó)際化和部分國(guó)際化并存,緩存國(guó)際化識(shí)別引擎為開(kāi)發(fā)者提供極速的多語(yǔ)言網(wǎng)站開(kāi)發(fā)效率。11.根據(jù)權(quán)利要求書I所述YYUC-PHP框架,在緩存機(jī)制上的突出特性表現(xiàn)在,系統(tǒng)支持跨服務(wù)器緩存,數(shù)據(jù)檢測(cè)機(jī)制緩存,時(shí)間過(guò)期機(jī)制緩存,基本文件緩存等多種緩存規(guī)則,最大限度的利用緩存功能減少服務(wù)器開(kāi)銷。12.根據(jù)權(quán)利要求書I所述YYUC-PHP框架,其特性表現(xiàn)在即使你用的是一個(gè)虛擬主機(jī),在服務(wù)商不允許架設(shè)多個(gè)網(wǎng)站,YY框架可以通過(guò)內(nèi)置的路由規(guī)則為你解決這一問(wèn)題,實(shí)現(xiàn)多網(wǎng)站并存機(jī)制。13.根據(jù)權(quán)利要求書I所述YYUC-PHP框架,其特性表現(xiàn)在具有多庫(kù)并存機(jī)制,運(yùn)用集成多庫(kù)集成調(diào)用方式,內(nèi)置了分布式數(shù)據(jù)庫(kù)的支持可以通過(guò)程序切換數(shù)據(jù)庫(kù)連接,不人為指定的情況下自動(dòng)實(shí)現(xiàn)主從式數(shù)據(jù)庫(kù)的讀寫分離等(注意:主從數(shù)據(jù)庫(kù)的數(shù)據(jù)同步工作不在框架實(shí)現(xiàn),需要數(shù)據(jù)庫(kù)考慮自身的同步或者復(fù)制機(jī)制。
【專利摘要】YYUC是一個(gè)基于PHP的高效的Web開(kāi)發(fā)框架。PHP是在服務(wù)器端執(zhí)行的腳本語(yǔ)言,具有簡(jiǎn)單易用、執(zhí)行效率高和跨平臺(tái)性好等優(yōu)點(diǎn),是目前最受歡迎的Web開(kāi)發(fā)語(yǔ)言之一。YYUC框架是一個(gè)高效穩(wěn)定的PHP框架,輕量級(jí)是她最大的優(yōu)勢(shì)。它具有學(xué)習(xí)成本低、開(kāi)發(fā)性(跨平臺(tái))、敏捷性、執(zhí)行效率高等諸多優(yōu)點(diǎn)。它基于約定優(yōu)于配置的原則,這一原則簡(jiǎn)化了程序開(kāi)發(fā)者的大量配置工作和框架思考。YY框架很大程度上借鑒并優(yōu)化了這一設(shè)計(jì)思想。毫不夸張的講有了YY框架其他的PHP框架就顯得有些失色。要么全面而笨重,要么簡(jiǎn)單而不穩(wěn)定,要么配置復(fù)雜難于學(xué)習(xí)和理解。
【IPC分類】G06F9/44
【公開(kāi)號(hào)】CN105242913
【申請(qǐng)?zhí)枴緾N201510386336
【發(fā)明人】孟慶群, 馮柳
【申請(qǐng)人】臨沂優(yōu)狐網(wǎng)絡(luò)科技有限公司, 孟慶群, 馮柳
【公開(kāi)日】2016年1月13日
【申請(qǐng)日】2015年7月6日