wordpress 框架,為什么都推薦使用wordpress而不是phpcms這些國內(nèi)的CMS呢?
首先,這個問題是我在知乎上提的,再次看到真是倍感親切啊~
現(xiàn)在回看,跟以前還是有不同的見解的,其中,我認(rèn)為有大神的回答非常好“精通php勝過精通一個cms”,也就是說,如果你的php足夠好,那就不要糾結(jié)用wordpress還是用phpcms了。因?yàn)闊o論用哪一個,都可以解決問題,而且是很好的解決!
說說我為什么會這樣提問,我本人屬于php入門階段,只會寫非常簡單的代碼,但是能夠比較熟練使用phpcms v9,大概用了1年時間了,其實(shí)是非常喜歡這個產(chǎn)品的。但非常遺憾的是,v9基本上沒有任何更新了,屬于放養(yǎng)狀態(tài)了,想找一個代替品,所以選擇了wordpress。
也用過wordpress做過幾個網(wǎng)站(準(zhǔn)確來說是做過幾個主題),但從開發(fā)的角度來看,顯然wordpress的學(xué)習(xí)成本要高很多。具體表現(xiàn)在以下方面:
1 結(jié)構(gòu)比較西方化,基本靠
function.PHP
控制,大量的方法堆積到這個文件,眼花繚亂,有的還不寫注釋,找起來非常不方便
2 方法有不下幾萬種,多是多了,但找起來也是非常麻煩,而且很多發(fā)放有一大批參數(shù)需要配置,當(dāng)然了從一個側(cè)面表示這個方法足夠強(qiáng)大,但大部分時間用不上,由于漢化問題,查找起來費(fèi)勁。
3 鉤子讓我困擾。。。如果不是非常有經(jīng)驗(yàn)的開發(fā)者,小白你就別想搞明白這個東西了,具體表現(xiàn)是我一直就沒明白到底有多少hook,什么時候該掛hook,掛哪個hook。。
4 菜單配置非常繁瑣,菜單輸入函數(shù)非常不方便,這個很抓狂,相比phpcms可以直接輸出菜單數(shù)據(jù),wordpress輸出了除了數(shù)據(jù)以外的樣式,而且非常固定,改起來要重寫菜單函數(shù),極其不方便。。。。這個也是被很多人吐槽過的
5 插件繁多,但兼容性很差,我這問題也問題很多人,他們回答是那是因?yàn)槟悴欢?,這個我真是沒法反駁啊,無論多么麻煩的系統(tǒng)和工具,只要你懂了,那就不難。。這不廢話嗎?我想用過wordpress的人沒有幾個不被插件坑過,想徹底懂?那就一個一個坑填吧。
6 耗內(nèi)存,對主機(jī)配置要求高。。。這個現(xiàn)在還好一些,以前有g(shù)oogle組件時候更要命。
說了這么多不好,但我還是選擇用它了,沒別的,就是因?yàn)樗且粋€既沒有版權(quán)限制,又更新及時的CMS.. 這一點(diǎn)國內(nèi)cms真是沒法比。總之就是坑很深,但值得入~
另外,phpcms也很不錯,但顯然過時了。。。
二更一下,修改了一些錯字。
這里闡述一下啊,寫了這么多,并不是抨擊wp多不好,我最后也說了,最終我還是選擇了用wp,我想表達(dá)的觀點(diǎn)就是,wp想學(xué)到精髓,是要比國內(nèi)的phpcms這些難一些的,當(dāng)初我用phpcmsv9時候,真心用了3天基本就可以應(yīng)付一般網(wǎng)站了,但wp玩了半個月,還是不太懂。。。尤其是各種插件還有一些鉤子函數(shù),可能也是學(xué)習(xí)方法沒有掌握吧~
但有的大神確實(shí)可以用wp做各種網(wǎng)站,真的是各種網(wǎng)站~佩服啊
如何充分利用騰訊云的1元學(xué)生服務(wù)器?
1.最簡單,可以搭建博客,用WordPress框架或Vue.js等;
2.當(dāng)作網(wǎng)盤使用,學(xué)生服務(wù)器的40G硬盤可以利用腳本進(jìn)行云盤同步,來存放些比較重要的文件;
3.建個小型網(wǎng)站,網(wǎng)上框架很多,例如Python的Flask和Django等。
基本來說這配置干不了什么大事,但還是可以寫很多腳本做自動化處理,例如我的服務(wù)器經(jīng)常用來爬東西(笑)。
哪種語言開發(fā)Web效率最高?
JavaScript
按照當(dāng)前的流行趨勢來看,JavaScript 是一門性價比非常高的語言。因?yàn)橹灰荳eb,就會有前端,只要有前端,就需要有JavaScript。與此同時,Node.js 在后臺中的地位已經(jīng)愈發(fā)重要了。對一般的項(xiàng)目而言,可以使用它來完成前端和后臺,除此之外,還有移動應(yīng)用。在那些可以使用瀏覽器來運(yùn)行的設(shè)備上,我們都可以使用 JavaScript 來開發(fā)使用,例如:
使用 Node.js 作為后臺語言,Express、Koa 等作為后臺MVC 框架,再選擇一個前端框架來實(shí)現(xiàn)前臺。
使用基于瀏覽器內(nèi)核的桌面應(yīng)用Electron,加上Node.js 生態(tài)系統(tǒng)里的模塊來實(shí)現(xiàn)桌面應(yīng)用。
使用混合應(yīng)用移動框架Cordova,混合應(yīng)用框架Ionic 來實(shí)現(xiàn)跨平臺的移動應(yīng)用。
使用 Tessel 和Ruff 等硬件來開發(fā)移動應(yīng)用。
人們使用 WebView 和JavaScript 來開發(fā)應(yīng)用的很大一部分原因是成本比較低。除了可以高效地開發(fā)UI,還支持跨平臺運(yùn)行,即只需要編寫一次代碼就可以在不同的操作系統(tǒng)上運(yùn)行,并且當(dāng)應(yīng)用對性能要求不高時,只要適當(dāng)?shù)貎?yōu)化,它就可以表現(xiàn)得相當(dāng)不錯。在這門語言里,有兩個后臺 MVC 框架比較流行。
Express:是在Node.js 上最早的MVC 框架,它由Ruby上的輕量級框架Sinatra啟發(fā)而來的。其框架本身封裝了大量實(shí)用的功能,核心特性是使用中間件來處理HTTP 請求。
Koa:是由 Express 的核心開發(fā)者基于 ES6 新特性打造的新框架。與Express相比,去除了一些框架自帶的功能,更加輕量級,可以讓開發(fā)者有更多的選擇。
當(dāng)然,這也意味著需要用戶自己去搭建這些環(huán)境。簡單對比一下兩者,Express 發(fā)展得比較早,其生態(tài)系統(tǒng)比較豐富,很容易找到所需要的插件。Koa 則基于ES6 語言帶來一些新的特性,實(shí)時解決舊語言的一些問題,如回調(diào)等。
Python
Python 誕生得比較早,其語言特性是做事情只有一種方法,這個特點(diǎn)也決定了這門語言很簡單。與JavaScript 相比,它仍是一門性價比非常高的語言,只是它不能在前端運(yùn)行。
Python 是一門簡潔的語言,有大量的數(shù)學(xué)、科學(xué)工具、人工智能的庫,這意味著在不遠(yuǎn)的將來它會發(fā)揮更大的作用。同時在Web 開發(fā)領(lǐng)域也有廣泛的應(yīng)用,除了正常的Web開發(fā),它還在網(wǎng)絡(luò)爬蟲中廣受歡迎。
同樣,在Python 語言里也有兩個不錯的框架可以選擇,其中的Django 是重量級框架,F(xiàn)lask 則是輕量級框架。
Django:最早是被應(yīng)用于內(nèi)容管理系統(tǒng)而開發(fā)的,其框架里自帶了相當(dāng)多的組件:ORM、表單序列化及驗(yàn)證系統(tǒng)、后臺系統(tǒng)、緩存框架、中間件支持等。在其官網(wǎng)上宣稱是:The Web framework for perfectionists with deadlines,它既可以滿足完美主義者,又可以在截止期限前交付軟件。
Flask:是一個輕量級的框架,它只有簡單的核心部分。換句話說,你可以按自己的需要添加ORM、用戶認(rèn)證、文件上傳等功能。在今天來看,它的生態(tài)系統(tǒng)也相當(dāng)豐富,可以完成絕大部分功能。
選擇 Flask 而不是選擇Django 的原因是:Django 本身規(guī)定好了一系列的規(guī)范和習(xí)慣。因而在編程時,我們只需要按步驟一步步往下走即可。本書采用 Django 作為Web 開發(fā)框架的主要原因是,它適合作為CMS 框架,并且提供了豐富的組件功能,如用戶權(quán)限管理、自帶后臺管理系統(tǒng)、ORM 等。
Java
在今天看來,Java 仍然受企業(yè)歡迎,除了在企業(yè)級Web 系統(tǒng)開發(fā)上,它還在Android應(yīng)用的開發(fā)上綻放光彩。在校期間,筆者一點(diǎn)兒也不喜歡 Java。后來才發(fā)現(xiàn),我從 Java 中學(xué)到的東西比從其他語言中學(xué)的東西還多。如果 Oracle 不毀壞 Java,那么它會繼續(xù)存活很久。我可以用JavaScript 造出各種我想要的東西,但是通常我無法保證它們是優(yōu)雅地實(shí)現(xiàn)。過去人們在Java 上花費(fèi)了很多時間,或在架構(gòu)上,或在語言上,或在模式上。由于這些投入,都給了人們很多啟發(fā)。這些都可以用于新的語言和新的設(shè)計(jì),畢竟沒有什么技術(shù)是獨(dú)立于舊的技術(shù)產(chǎn)生的。由于在 Java 語言里,筆者主要接觸的是 Spring 框架,因此下面討論一下 Spring。
Spring MVC:是由 Spring 框架提供的構(gòu)建 Web 應(yīng)用程序的全功能 MVC模塊。由于框架本身高度可配置,即可以直接使用編寫 XML 而不是 Java 來實(shí)現(xiàn)功能。它是一個典型的 MVC 框架,并且也是一個純正的servlet 系統(tǒng)。
Spring Boot:其作用在于創(chuàng)建和啟動新的基于 Spring 框架的項(xiàng)目。系統(tǒng)本身做好了對不同框架的配置與集成,我們只需要對其配置,并編寫少量的代碼即可。
如果你正在考慮使用 Spring 框架,建議使用 Spring Boot。
PHP
PHP 是一門很容易上手的語言,由于其容易上手,并且發(fā)展得比較成熟。因此,有相多當(dāng)?shù)膫€人網(wǎng)站使用它作為開發(fā)語言,如 Facebook 這樣大流量的網(wǎng)站也在使用它。另外,不得不提及的是 WordPress 已經(jīng)占領(lǐng)了 CMS 市場超過一半的份額,并且它也占領(lǐng)了全球網(wǎng)站的四分之一。WordPress 原生是為博客系統(tǒng)而創(chuàng)建的開源框架,由于博客系統(tǒng)和內(nèi)容管理系統(tǒng)在功能上很多是相似的,因此它成了最具知名度的內(nèi)容管理系統(tǒng)(contentmanagement systemCMS)。在這里并不基于 WordPress 來開發(fā)內(nèi)容管理系統(tǒng),因?yàn)樗呀?jīng)是一個相當(dāng)成熟的框架了。如果你需要一個博客系統(tǒng)或者內(nèi)容管理系統(tǒng),首選 WordPress,然后才是自己編寫。PHP 在框架方面有比較多的選擇,遺憾的是,筆者只對Laravel 比較了解。它是在PHP 5.3 之后開發(fā)的新框架,其類似于Ruby on Rails—為PHP 程序員提供快速開發(fā)的機(jī)制—提供快速開發(fā)的工具集,如生成代碼、數(shù)據(jù)遷移、ORM 等。
Ruby
Ruby 是一門優(yōu)美而巧妙的語言,它可以使編寫出來的代碼看上去更自然、簡潔,更具有表達(dá)力,因此深受程序員歡迎。早期 Ruby 語言的應(yīng)用場景特別少,直至Ruby OnRails 的出現(xiàn)。它是嚴(yán)格按照MVC 結(jié)構(gòu)開發(fā)的Web 開源框架,其致力于提升程序員的快樂感和生產(chǎn)效率—快速創(chuàng)建頁面、模板和查詢功能等。不過如今由于可維性和性能的問題,它正在逐漸被替換。只是對初創(chuàng)公司來說,它的開發(fā)效率仍使得它是一個不錯的選擇,隨后在業(yè)務(wù)穩(wěn)定后使用其他框架來替換。同樣,由于Ruby On Rails 是一個重量級的選擇,Ruby 程序員也推出了自己的輕量級框架 Sinatra。它是一個基于Ruby 語言的DSL(領(lǐng)域?qū)僬Z言),由于其代碼行數(shù)少,且簡單、簡潔,可以很容易深入理解框架并對其做出定制
然后就是看項(xiàng)目需要以及團(tuán)隊(duì)優(yōu)勢進(jìn)行選擇
wordpress是個著名的開源網(wǎng)站程序?
對于國外軟件我覺得如果個人小站長可以放心使用,國外軟件哪怕收費(fèi)也是針對那些大企業(yè)收費(fèi),大企業(yè)更注重版權(quán)問題,正如曾經(jīng)微軟吵得沸沸揚(yáng)揚(yáng)維護(hù)版權(quán)一樣,最終不了了之。
織夢對于剛開始搞網(wǎng)站的確實(shí)起到關(guān)鍵性作用,國內(nèi)這里面對版權(quán)問題重視起來,不僅僅織夢維權(quán),還有微擎等等都在維權(quán),在開源這條路上其實(shí)并不好走,有實(shí)力有能力開源長期維護(hù),沒實(shí)力的開源都沒人要,最感激的還是論壇開源鼻祖DZ,始終也沒說對個人小站長下手。
WordPress支持自定義界面嗎?
可以的,不過需要付費(fèi)主題和一些插件