php緩存教程學(xué)習(xí),值得推薦的開源PHPCMS系統(tǒng)有哪些?
分享個(gè)開源項(xiàng)目快速開發(fā)框架,采用spring cloud alibaba +nacos +vue的 技術(shù)棧,實(shí)現(xiàn)了大部分
釘釘宜搭的快速開發(fā)功能,很值得借鑒下。這是在git上開源的快速開發(fā)項(xiàng)目,項(xiàng)目采用微服務(wù)為基礎(chǔ)的腳手架,包括流程、表單、列表、圖表、應(yīng)用等多個(gè)界面化的配置引擎。項(xiàng)目介紹:**JVS的核心目標(biāo):**讓中小型開發(fā)團(tuán)隊(duì)過得輕松一點(diǎn),優(yōu)化開發(fā)團(tuán)隊(duì)人力成本高、交付效率低、質(zhì)量不可控、周期不確定、基礎(chǔ)技術(shù)投入不足、高端技術(shù)支持不夠等JVS是面向軟件開發(fā)團(tuán)隊(duì)可以快速實(shí)現(xiàn)應(yīng)用的基礎(chǔ)開發(fā)框架,采用微服務(wù)分布式框架,提供豐富的基礎(chǔ)功能,集成眾多業(yè)務(wù)引擎,它靈活性強(qiáng),界面化配置對(duì)開發(fā)者友好,底層容器化構(gòu)建,集合持續(xù)化構(gòu)建。項(xiàng)目標(biāo)簽低代碼、微服務(wù)、支持SaaS、私有化部署、DevOps、開源項(xiàng)目地址框架前端地址:https://gitee.com/software-minister/jvs-ui框架后端地址:https://gitee.com/software-minister/jvs快速安裝地址:JVS/jvs-docker-compose體驗(yàn)地址:http://frame.bctools.cn/#/login登陸可以通過微信掃碼登陸,對(duì)于配置數(shù)據(jù),請(qǐng)各位技術(shù)同學(xué)手下留情。部署文檔https://gitee.com/software-minister/jvs-docker-compose/blob/master/readme.md**物理拓?fù)洌?/p>技術(shù)文檔地址(微信登陸可查看):技術(shù)棧說明:系統(tǒng)部分截圖:登陸頁面配置化首頁系統(tǒng)基礎(chǔ)信息設(shè)置框架基礎(chǔ)功能應(yīng)用創(chuàng)建列表配置流程配置表單配置圖表配置邏輯配置demo環(huán)境:http://frame.bctools.cn/#/login開源地址:https://gitee.com/software-minister/jvs如果還有其他的疑問,可以私信web前端主要是用來做什么的?
前端開發(fā)是創(chuàng)建Web頁面或app等前端界面呈現(xiàn)給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術(shù)、框架、解決方案,來實(shí)現(xiàn)互聯(lián)網(wǎng)產(chǎn)品的用戶界面交互 [1] 。它從網(wǎng)頁制作演變而來,名稱上有很明顯的時(shí)代特征。在互聯(lián)網(wǎng)的演化進(jìn)程中,網(wǎng)頁制作是Web1.0時(shí)代的產(chǎn)物,早期網(wǎng)站主要內(nèi)容都是靜態(tài),以圖片和文字為主,用戶使用網(wǎng)站的行為也以瀏覽為主。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和HTML5、CSS3的應(yīng)用,現(xiàn)代網(wǎng)頁更加美觀,交互效果顯著,功能更加強(qiáng)大。 移動(dòng)互聯(lián)網(wǎng)帶來了大量高性能的移動(dòng)終端設(shè)備以及快速的無線網(wǎng)絡(luò),HTML5,
node.jS
的廣泛應(yīng)用,各類框架類庫層出不窮。核心技術(shù)編輯HTML語言掌握HTML是網(wǎng)頁的核心,是一種制作萬維網(wǎng)頁面的標(biāo)準(zhǔn)語言,是萬維網(wǎng)瀏覽器使用的一種語言,它消除了不同計(jì)算機(jī)之間信息交流的障礙。因此,它是網(wǎng)絡(luò)上應(yīng)用最為廣泛的語言,也是構(gòu)成網(wǎng)頁文檔的主要語言,學(xué)好HTML是成為Web開發(fā)人員的基本條件。HTML是一種標(biāo)記語言,能夠?qū)崿F(xiàn)Web頁面并在瀏覽器中顯示。HTML5作為HTML的最新版本,引入了多項(xiàng)新技術(shù),大大增強(qiáng)了對(duì)于應(yīng)用的支持能力,使得Web技術(shù)不再局限于呈現(xiàn)網(wǎng)頁內(nèi)容。隨著CSS、JavaScript、Flash等技術(shù)的發(fā)展,Web對(duì)于應(yīng)用的處理能力逐漸增強(qiáng),用戶瀏覽網(wǎng)頁的體驗(yàn)已經(jīng)有了較大的改善。不過HTML5中的幾項(xiàng)新技術(shù)實(shí)現(xiàn)了質(zhì)的突破,使得Web技術(shù)首次被認(rèn)為能夠接近于本地原生應(yīng)用技術(shù),開發(fā)Web應(yīng)用真正成為開發(fā)者的一個(gè)選擇。HTML5可以使開發(fā)者的工作大大簡化,理論上單次開發(fā)就可以在不同平臺(tái)借助瀏覽器運(yùn)行,降低開發(fā)的成本,這也是產(chǎn)業(yè)界普遍認(rèn)為HTML5技術(shù)的主要優(yōu)點(diǎn)之一。AppMobi、摩托羅拉、Sencha、Appcelerator等公司均已推出了較為成熟的開發(fā)工具,支持HTML5應(yīng)用的發(fā)展。 [3] CSS學(xué)好CSS是網(wǎng)頁外觀的重要一點(diǎn),CSS可以幫助把網(wǎng)頁外觀做得更加美觀。JavaScript學(xué)習(xí)JavaScript的基本語法,以及如何使用JavaScript編程將會(huì)提高開發(fā)人員的個(gè)人技能。操作系統(tǒng)了解Unix和Linux的基本知識(shí),對(duì)于開發(fā)人員有益無害。網(wǎng)絡(luò)服務(wù)器了解Web服務(wù)器,包括對(duì)Apache的基本配置,htaccess配置技巧的掌握等。 優(yōu)化編輯盡量減少HTTP請(qǐng)求 (Make Fewer HTTP Requests)減少DNS 查找 (Reduce DNS Lookups)避免重定向 (Avoid Redirects)使得 Ajax 可緩存 (Make Ajax Cacheable)延遲載入組件 (Post-load Components)預(yù)載入組件 (Preload Components)減少DOM元素?cái)?shù)量 (Reduce the Number of DOM Elements)切分組件到多個(gè)域 (Split Components Across Domains)最小化iframe的數(shù)量 (Minimize the Number of iframes)杜絕 http404錯(cuò)誤 (No 404s)以上10條涵蓋了Web前端開發(fā)中遇到的各種頁面處理技術(shù),讓前端開發(fā)人員能夠準(zhǔn)確和快速地把握整個(gè)網(wǎng)頁的架構(gòu),從而達(dá)到減少開發(fā)成本和頁面美化目的。前端框架編輯學(xué)好Web框架熟悉掌握HTML、服務(wù)器端腳本語言、CSS和JavaScript之后,學(xué)習(xí)Web框架可以加快Web開發(fā)速度,節(jié)約時(shí)間。PHP程序員可選的框架包括CakePHP、CodeIgniter、Zend等,Python程序員喜歡使用Django和 webpy,Ruby程序員常用RoR。隨著Web 越來越規(guī)范和標(biāo)準(zhǔn)的統(tǒng)一,Web組件化技術(shù)不斷革新,移動(dòng)端開發(fā)不斷升華,以下是一些常見開源前端框架:Bootstrap主流框架之一,Bootstrap 是基于 HTML、CSS、JavaScript的,它簡潔靈活,使得 Web 開發(fā)更加快捷。html5-boilerplate該框架可以快速構(gòu)建健壯,且適應(yīng)力強(qiáng)的web app或網(wǎng)站。MeteorMeteor是新一代的開發(fā)即時(shí)web應(yīng)用的開源框架,它能在較短時(shí)間內(nèi)完成開發(fā)。Semantic UI基于自然語言有效原則的UI組件框架Foundation優(yōu)秀的響應(yīng)式前端框架Materialize基于材料設(shè)計(jì)的現(xiàn)代化響應(yīng)式前端框架。可提供默認(rèn)的樣式,自定義組件。此外,Materialize還改進(jìn)動(dòng)畫和過渡,為開發(fā)人員提供流暢的體驗(yàn)。Pure幾乎可以在每一個(gè)web項(xiàng)目中使用的一組小的和響應(yīng)式的CSS模塊。VueVue.js 是用于構(gòu)建交互式的 Web 界面的庫。它提供了 MVVM 數(shù)據(jù)綁定和一個(gè)可組合的組件系統(tǒng),具有簡單、靈活的 API。SkeletonSkeleton 是一個(gè)小的 JS 和 CSS 文件的集合,可快速開發(fā)漂亮的網(wǎng)站,適合各種屏幕設(shè)備包括手機(jī)。Skeleton 基于 960 grid 開發(fā)。它是一個(gè) UI 框架。Amaze UI國內(nèi)首個(gè)開源HTML5跨屏前端框架產(chǎn)品系列,中文排版支持更優(yōu)、本土化組件豐富。該產(chǎn)品系列中有專門針對(duì)移動(dòng)端的HTML5混合應(yīng)用開發(fā)框架Amaze UI Touch以及針對(duì)跨屏HTML5網(wǎng)頁開發(fā)的Amaze UI Web。其中,Amaze UI Touch可以幫助開發(fā)者通過豐富的組件,快速構(gòu)建出與原生APP相媲美的專屬移動(dòng)端的HTML5應(yīng)用。UIkit一個(gè)輕量級(jí)的和模塊化的前端框架,用于快速開發(fā)和功能強(qiáng)大的web接口。YuiYahoo! UI Library (YUI) 是一個(gè)開放源代碼的 JavaScript 函數(shù)庫,為了能建立一個(gè)高互動(dòng)的網(wǎng)頁,它采用了AJAX, DHTML 和 DOM 等程式碼技術(shù)。它也包含了許多 CSS 資源。使用授權(quán)為 BSD許可證。kissy一款跨終端、模塊化、高性能、使用簡單的 JavaScript 框架。MUI最接近原生App體驗(yàn)的前端框架的框架。Arale一個(gè)開放、簡單、易用的前端基礎(chǔ)類庫。JXJX 是模塊化的非侵入式Web前端框架,特別適合構(gòu)建和組織大規(guī)模、工業(yè)級(jí)的Web App。GMUGMU是基于zepto的mobile UI組件庫,提供webapp、pad端簡單易用的UI組件! Web App。ZUI開源HTML5前端框架Clouda Touch.jsTouch.js是移動(dòng)設(shè)備上的手勢識(shí)別與事件庫,也是在百度內(nèi)部廣泛使用的開發(fā)。 [4]至于學(xué)習(xí)難度,不是很難,只要學(xué)肯定是能學(xué)會(huì)的!!現(xiàn)在網(wǎng)絡(luò)很發(fā)達(dá),網(wǎng)上有許多學(xué)習(xí)前端的網(wǎng)站像w3c ... 加油!!!
PHP下載網(wǎng)絡(luò)資源文件?
引言
在程序內(nèi)下載資源文件,這本身就是一個(gè)充滿了不確定因素的事情。可能會(huì)因?yàn)榫W(wǎng)絡(luò)超時(shí)連接中斷,或者程序故障拋出各種異常,在實(shí)際中我們一般要避免在程序流程中下載文件。
如果是實(shí)在無法避免,用什么辦法比較高效呢?或者說比較輕量級(jí)呢?本文就來說一說。
學(xué)習(xí)時(shí)間最直接的辦法就是使用內(nèi)置函數(shù) file_get_contents。參數(shù)形式如下:
int file_put_contents( string $filename, mixed $data[, int $flags = 0[, resource $context]] )
這個(gè)函數(shù)設(shè)計(jì)的很巧妙,兼容了很多場景下的使用。我們只需要按照相應(yīng)的參數(shù)填入,就可以組裝出各種各樣的功能。
如果是下載資源,那么會(huì)分為兩步。第一,把遠(yuǎn)程資源拿到本地。第二,把該資源寫入本地文件。使用代碼實(shí)現(xiàn)如下:
file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));
其中在位置參數(shù) $data 的位置,傳入了一個(gè)fopen生成的文件句柄。
根據(jù)函數(shù)手冊(cè)上所說,如果$data 指定的是流,則該流的緩沖區(qū)將被復(fù)制到指定的文件。對(duì)標(biāo)的函數(shù)是 stream_copy_to_stream。那樣寫起來就得是這樣的:
是不是沒有file_put_contents精簡。難怪很多敲代碼的老司機(jī),習(xí)慣于使用這一個(gè)函數(shù)進(jìn)行網(wǎng)絡(luò)請(qǐng)求呢!
文件操作純粹使用文件操作,也沒有問題,使用PHP提供的 fopen fclose fwrite fread 等函數(shù),完全可以勝任。我們將其封裝為一個(gè)助手函數(shù):
因?yàn)椴荒艽_定原始文件的長度,在讀寫的時(shí)候,需要注意緩存區(qū)的大小,分塊讀入和寫入。其中參數(shù) 1024 * 8,指定每次讀寫 8K 字節(jié)。使用 feof 判斷文件是否到尾部。
網(wǎng)絡(luò)請(qǐng)求既然是網(wǎng)絡(luò)資源文件,使用上面的函數(shù),無非都要發(fā)起 HTTP 請(qǐng)求。既然是網(wǎng)絡(luò)請(qǐng)求,何不把這個(gè)功能交給 cURL 呢?這樣對(duì)于請(qǐng)求頭,請(qǐng)求體,響應(yīng)體等等全程 HTTP 環(huán)節(jié),都可以在程序內(nèi)操作,容錯(cuò)性肯定不差。
下面我們使用 cURL 庫進(jìn)行文件請(qǐng)求操作:
如果是小小的資源文件,下載起來不費(fèi)時(shí)間,也不會(huì)阻礙接下來的流程。如果是超大文件,費(fèi)時(shí)間,而且還可能中斷,有沒有斷點(diǎn)續(xù)傳?有沒有自動(dòng)壓縮?這都是問題。
所以,使用網(wǎng)絡(luò)請(qǐng)求下載大文件,這已經(jīng)超出了 PHP 內(nèi)置函數(shù)的范疇。我們需要功能更為強(qiáng)大的下載器,多資源,多線程,斷線續(xù)傳,自動(dòng)重試。
寫在最后本文通過3中方法對(duì)比了實(shí)現(xiàn)小文件下載的功能,各有優(yōu)劣,根據(jù)不同的場景需要開發(fā)者做出適當(dāng)?shù)倪x擇。
Happy coding :_)
我是 @程序員小助手 ,持續(xù)分享編程知識(shí),歡迎關(guān)注。
java編程用什么工具?
答:本文邀請(qǐng)strong來回答,分享一些非常好用并且高效的JAVA開發(fā)常用的工具~
1、lombok1)、maven使用:
2)、IntelliJ idea安裝:
https://projectlombok.org/setup/intellij
3)、所有特性
https://projectlombok.org/features/all
@Getter/@Setter
@ToString
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
@EqualsAndHashCode
@Data
2、appache-commonsappache-commons真是一個(gè)強(qiáng)大的家族,里面有的東西應(yīng)該能覆蓋我們的方方面面了。
http://commons.apache.org/
比較常用的有:
commons-lang
commons-colloctions
其他工具包:
http://commons.apache.org/proper/commons-io/
http://commons.apache.org/proper/commons-beanutils/
http://commons.apache.org/proper/commons-codec/
http://commons.apache.org/proper/commons-dbutils/
http://commons.apache.org/proper/commons-fileupload/
3、使用lombok反序列化的問題來源(https://my.oschina.net/u/566591/blog/664617#h3_2)
使用fastJson對(duì)json字符串進(jìn)行反序列化時(shí),有幾個(gè)點(diǎn)需要注意一下:
反序列化內(nèi)部類
反序列化模板類
Getter/Setter問題
如我們希望返回的一個(gè)json串為
下面是我們的定義的dto對(duì)象,通過序列化后能得到我們預(yù)期的結(jié)果么?
實(shí)際上返回的結(jié)果與我們預(yù)期的還是有差別的
解決方案:
注意項(xiàng):
默認(rèn)構(gòu)造方法
使用lombok注解時(shí), 需要注意 isXxx 這種,序列化字符串中的key,可能就變成 xxx
什么是PHP語言?
PHP,一個(gè)嵌套的縮寫名稱,是英文超級(jí)文本預(yù)處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種HTML內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用。PHP 獨(dú)特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁。用PHP做出的動(dòng)態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語言JavaScript相比,PHP在服務(wù)器端執(zhí)行,充分利用了服務(wù)器的性能;PHP執(zhí)行引擎還會(huì)將用戶經(jīng)常訪問的PHP程序駐留在內(nèi)存中,其他用戶在一次訪問這個(gè)程序時(shí)就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體現(xiàn)之一。PHP具有非常強(qiáng)大的功能,所有的CGI或者JavaScript的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。 PHP 最初是1994年Rasmus Lerdorf創(chuàng)建的,剛剛開始只是一個(gè)簡單的用Perl語言編寫的程序,用來統(tǒng)計(jì)他自己網(wǎng)站的訪問者。后來又用C語言重新編寫,包括可以訪問數(shù)據(jù)庫。在1995年以Personal Home Page Tools (PHP Tools) 開始對(duì)外發(fā)表第一個(gè)版本,Lerdorf寫了一些介紹此程序的文檔,并且發(fā)布了PHP1.0。在這早期的版本中,提供了訪客留言本、訪客計(jì)數(shù)器等簡單的功能。以后越來越多的網(wǎng)站使用了PHP,并且強(qiáng)烈要且增加一些特性,比如循環(huán)語句和數(shù)組變量等等,在新的成員加入開發(fā)行列之后,在1995年中,PHP2.0發(fā)布了。第二版定名為PHP/FI(Form Interpreter)。PHP/FI加入了對(duì)mSQL的支持,從此建立了PHP在動(dòng)態(tài)網(wǎng)頁開發(fā)上的地位。到了1996年底,有15000個(gè)網(wǎng)站使用 PHP/FI;時(shí)間到了1997年中,使用PHP/FI的網(wǎng)站數(shù)字超過五萬個(gè)。而在1997年中,開始了第三版的開發(fā)計(jì)劃,開發(fā)小組加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名為PHP3。2000年,PHP4.0又問世了,其中增加了許多新的特性。 PHP的特性包括以下幾點(diǎn): 開放的源代碼:所有的PHP源代碼事實(shí)上都可以得到。 PHP是免費(fèi)的。 基于服務(wù)器端:由于PHP是運(yùn)行在服務(wù)器端的腳本,可以運(yùn)行在UNIX、LINUX、WINDOWS下。 嵌入HTML:因?yàn)镻HP可以嵌入HTML語言,所以學(xué)習(xí)起來并不困難。 簡單的語言:PHP堅(jiān)持腳本語言為主,與Java以C++不同。 效率高:PHP消耗相當(dāng)少的系統(tǒng)資源。 圖像處理:用PHP動(dòng)態(tài)創(chuàng)建圖像 PHP 3與PHP 4的比較 PHP3跟Apache服務(wù)器緊密結(jié)合的特性;加上它不斷的更新及加入新的功能;而且?guī)缀踔С炙兄髁髋c非主流數(shù)據(jù)庫;再以它能高速的執(zhí)行效率,使得PHP在1999年中的使用站點(diǎn)已經(jīng)超過了150000萬。加上它的源代碼完全公開,在 Open Source意識(shí)抬頭的今天,它更是這方面的中流砥柱。不斷地有新的函數(shù)庫加入,以及不停地更新的活力,使得PHP無論在UNIX、LINUX或是Windows的平臺(tái)上都可以有更多新的功能。它提供豐富的函數(shù),使得在程序設(shè)計(jì)方面有著更好的支持。 PHP4.0整個(gè)腳本程序的核心大幅更動(dòng),讓程序的執(zhí)行速度,滿足更快的要求。在最佳化之后的效率,已較傳統(tǒng)CGI或者ASP等程序有更好的表現(xiàn)。而且還有更強(qiáng)的新功能、更豐富的函數(shù)庫。無論您接不接受,PHP 都將在 Web CGI 的領(lǐng)域上,掀起巔覆性的革命。對(duì)于一位專業(yè)的Web Master 而言,它將也是必修課程之一。 PHP 4.0是更有效的,更可靠的動(dòng)態(tài)Web頁開發(fā)工具,在大多數(shù)情況運(yùn)行比 PHP 3.0要快,其腳本描述更強(qiáng)大并且更復(fù)雜, 最顯著的特征是速率比的增加。PHP4.0這些優(yōu)異的性能是PHP 腳本引擎重新設(shè)計(jì)產(chǎn)生的結(jié)果:引擎由 AndiGutmans 和 Zeev Suraski從底層全面重寫。PHP4.0 腳本引擎 --Zend 引擎,使用了一種更有效的編譯--執(zhí)行方式, 而不是PHP 3.0 采用的執(zhí)行 --當(dāng)解析時(shí)模型。 PHP4在3.0版的基礎(chǔ)上增加或增強(qiáng)了許多有用的特征,主要如下: (1)別名:在PHP4中,可以利用引用為變量賦值,這給編程帶來了很大的靈活性。 (2)擴(kuò)充了API 模塊:PHP 4.0 為擴(kuò)展的 API 模塊的提供了擴(kuò)展PHP接口模塊, 它比舊的 API 版本顯著地快。 PHP 模塊已有的及最常用的接口多數(shù)被轉(zhuǎn)換到使用這個(gè)擴(kuò)展的接口。 (3)自動(dòng)資源釋放:PHP4增加了引用計(jì)數(shù)功能,這種新技術(shù)的引入使PHP4具有了自動(dòng)內(nèi)存管理功能,減輕了開發(fā)人員的負(fù)擔(dān)。 (4)布爾類型:PHP 4.0 支持布爾類型。 (5)進(jìn)程生成:在 UNIX 環(huán)境下的 PHP 4.0 提供了一個(gè)很智能和通用的生成進(jìn)程, 使用了一種名為基于automake/libtool的系統(tǒng)生成技術(shù)。 (6)COM/DCOM 支持:PHP 4.0 提供 COM/DCOM 支持 ( 僅用于Windows 環(huán)境 ) 可以無縫地存取和訪問 COM 對(duì)象。 (7)與PHP 3.0 兼容性很好:PHP 4.0 是與 PHP 3.0 代碼向后兼容性接近100% 。由于 PHP 4 的改進(jìn)的體系結(jié)構(gòu),兩者有一些細(xì)微的差別,但是大多數(shù)人將可能永遠(yuǎn)不可能遇上這種情況。 PHP介紹 (8)配置:PHP4重新設(shè)計(jì)和增強(qiáng)了PHP。ini文件,這使得用PHP。ini來配置PHP顯得極為容易,這個(gè)文件可以在運(yùn)行時(shí)被Apache(unix系統(tǒng))或由Windows 注冊(cè)(Windows 環(huán)境)。 (9)加密支持:PHP4實(shí)現(xiàn)了完整的加密, 這些加密功能是一個(gè)完整的mycrypt庫,并且 PHP 4.0 支持哈希函數(shù)。Blowfish,TripleDES,MD5,并且SHA1 也是可使用的一些加密算法。 (10)類型檢查:PHP 4.0 支持同一操作符用于評(píng)類型檢查:===( 3 等號(hào)運(yùn)算符 ), 為在兩個(gè)值和其類型之間作檢查。例如, 3 ===3 將視為假 ( 類型是不同的 ), 而 3 ==3 ( 相等判斷 ) 將視為真。 (11)FTP 支持:PHP 4.0 支持 FTP 。通常, 你會(huì)為通過一個(gè)調(diào)制解調(diào)器連接下載一個(gè)大文件提供一個(gè)接口。然而, 如果你確實(shí)有需要,可以使用PHP 。 (12)PHP4新增函數(shù)或功能增強(qiáng)函數(shù):PHP 4.0 新增了許多函數(shù),同時(shí)也將許多現(xiàn)有的函數(shù)功能進(jìn)行了增強(qiáng),以下是一些例子。 array_count_values() eval() foreach() nclude() ob_end_clean() ob_end_flush() ob_get_contents() ob_start() strip_tags() unset() (13)here打印:PHP 4.0 的Here打印是與Perl類似的, 盡管完全不相同。Here是打印大容量文章的一個(gè)有用的方法,例如在 HTML文件中,不會(huì)漏掉任何一個(gè)字符,例如目錄標(biāo)記。 (14)HTTP Session fallback 系統(tǒng):為 HTTP Session管理的一個(gè) fallback 系統(tǒng)在 PHP 4.0被實(shí)現(xiàn) 。缺省情況下,Session標(biāo)識(shí)符由cookies存儲(chǔ)。如果沒有cookies支持或一項(xiàng)cookies任務(wù)失敗,Session標(biāo)識(shí)符自動(dòng)被創(chuàng)建并在 URL 的查詢字符串中被攜帶。 (15)ISAPI 支持:PHP 4.0 能作為一個(gè)個(gè)性化的 ISAPI 模塊作為 IIS插件 。這比 PHP 3.0 更有效, 它作為一個(gè)外部的程序來運(yùn)行。 (16)內(nèi)存:PHP 4.0 能更有效的使用內(nèi)存, 導(dǎo)致較少的內(nèi)存占用消耗,這主要?dú)w功于引用計(jì)數(shù)技術(shù)的實(shí)現(xiàn)。 (17)其他類成員函數(shù):在 PHP 4.0 你能在成員函數(shù)本身的作用域或全局范圍內(nèi)調(diào)用其他類的成員函數(shù)。例如,你能用一個(gè)子函數(shù)覆蓋父函數(shù),并在子函數(shù)中調(diào)用父函數(shù)。 (18)多維數(shù)組:在 PHP 4.0 ,利用GET,POST, Cookies的進(jìn)行的數(shù)據(jù)傳輸支持多維數(shù)組。 (19)個(gè)性化的 HTTP Session支持:HTTP Session處理, 包括 fallback 系統(tǒng)管理,在 PHP 4.0被它的新庫函數(shù)實(shí)現(xiàn) 。在版本 3.0 中處理Session要求使用 PHPLIB 和第三方的庫函數(shù), 它比把Session直接地由 PHP 支持慢了許多。 (20)個(gè)性化的 Java 支持:PHP 4.0 支持和java的交互。這種個(gè)性化的Java 支持為PHP 在 Java 對(duì)象上創(chuàng)建和使用方法提供一個(gè)簡單并且有效的工具。 21)對(duì)象和數(shù)嵌套組:PHP 4.0 實(shí)現(xiàn)了功能更加強(qiáng)大的對(duì)象, 移去了 PHP 3.0存在的種種句法限制。對(duì)象能在數(shù)組以內(nèi)被嵌套并且反過來也如此, 可以根據(jù)你的需要實(shí)現(xiàn)嵌套。 (22)面向?qū)ο蟮木幊蹋篜HP 4.0 為面向?qū)ο蟮木幊毯蜆?gòu)造類及對(duì)象提供擴(kuò)展的功能和新特征。PHP4實(shí)現(xiàn)了對(duì)象重載,引用技術(shù)等新技術(shù)。 (23)對(duì)象重載支持:對(duì)象重載語法允許第三方的基于面向?qū)ο蟮念悗焓褂?PHP4 的面向?qū)ο蟮奶卣鞔嫒∷麄冏陨淼墓δ堋J褂眠@個(gè)特征的一個(gè) COM 模塊已經(jīng)被實(shí)現(xiàn)了。 (24)輸出緩沖支持:PHP 提供了一個(gè)輸出緩沖函數(shù)集合。輸出緩沖支持允許你寫包裹函數(shù)功能壓縮緩沖區(qū)。在 PHP4 的輸出緩沖支持允許 HTML 頭信息存放, 無論 HTML的正文是否輸出。頭信息( (header(), content type, and cookies ) 不采用緩沖 。 (25)增加了PCRE 庫:PHP 4.0 包括一個(gè) Perl 兼容的正則表達(dá)式 (PCRE ) 庫, 和正常regex庫一起與 PHP 綁定。split 和replace PCRE 功能被支持。PCRE 和 Perl 正規(guī)表達(dá)式之間有一些細(xì)微差別。 (26)PHP.ini 文件:PHP.ini文件在 PHP4.0 被重新設(shè)計(jì), 使用的 PHP 的配置PHP.ini是更容易并且更有效的。全部文件能被Apache 在運(yùn)行時(shí)間操作 ( 在 Apache環(huán)境 下 ) 或由 Windows 注冊(cè)表 ( 在 Windows 下面 ) 。被加入PHP.ini文件的配置指令自動(dòng)地在所有相關(guān)的模塊中被支持。 (27)引用計(jì)數(shù):PHP 4.0 為系統(tǒng)中的每個(gè)數(shù)值提供了引用計(jì)數(shù), 包括資源。一旦一個(gè)資源不再被任何變量引用,它自動(dòng)地被釋放以節(jié)省內(nèi)存資源。利用這個(gè)特征的最明顯的例子一個(gè)內(nèi)置SQL查詢的循環(huán)語句。在PHP 3.0中 ,每次遞歸另外的 SQL 結(jié)果集合重復(fù)申請(qǐng)內(nèi)存,直到腳本執(zhí)行完畢,這些結(jié)果集合占用的內(nèi)存才被釋放。 (28)支持引用:通過引用可以改變一個(gè)變量的值。 (29)函數(shù)的運(yùn)行時(shí)綁定:PHP 4.0 的運(yùn)行時(shí)間綁定功能允許你在他們被聲明以前調(diào)用, 無論聲明是否在代碼以后或是在運(yùn)行時(shí)間。 (30)類的運(yùn)行時(shí)信息:PHP 4.0 支持在運(yùn)行時(shí)刻存取下列類信息:一個(gè)對(duì)象的類名,一個(gè)對(duì)象的父類的類名字,以及對(duì)象函數(shù)所在的名字。 (31)服務(wù)器抽象層:為支持WEB服務(wù)器提供了增強(qiáng)型 SAPI ( 服務(wù)器 API ) 接口,是 PHP 4。0 不可分的一部分。這個(gè)服務(wù)器抽象層,提供了通用的WEB服務(wù)器接口支持,支持多線程WEB服務(wù)器,為大多數(shù)的WEB服務(wù)器提供透明的支持, 這些服務(wù)器包括 Apache ,IIS ( ISAPI ), 以及 AOL 服務(wù)器。 ---------------------------------------------------------------------------------------------------------------------------- PHP5新特性: 更加面向?qū)ο蠡腜HP PHP 5 引入了新的對(duì)象模型(Object Model)。完全重寫了 PHP 處理對(duì)象的方式,允許更佳性能和更多特性。 PHP處理對(duì)象部分的內(nèi)核完全重新開發(fā)過,提供更多功能的同時(shí)也提高了性能。在以前版本的php中,處理對(duì)象和處理基本類型(數(shù)字,字符串)的方式是一樣的。這種方式的缺陷是:當(dāng)將對(duì)象賦值給一個(gè)變量時(shí),或者通過參數(shù)傳遞對(duì)象時(shí),對(duì)象將被完全拷貝一份。在新的版本里,上述操作將傳遞引用(可以把引用理解成對(duì)象的標(biāo)識(shí)符),而非值。
以上就是關(guān)于php緩存教程學(xué)習(xí)以及值得推薦的開源PHPCMS系統(tǒng)有哪些的相關(guān)回答,有更多疑問可以加微。