本文目錄一覽:
- 1、關於Ruby
- 2、php文件如何打開?
- 3、最好用的框架是哪個?CI,YII,rails,thinkphp哪個好?
- 4、Ruby 0n Rails 在網站開發上有什麼優勢?相對於其他的語言php java等
- 5、PHP 是不是被 Ruby on Rails 帶上了邪路
- 6、為什麼說PHP是世界上最好的語言
關於Ruby
Ruby on Rails是一個用於編寫網絡應用程序的框架,它基於計算機軟件語言Ruby,給程序開發人員提供強大的框架支持。Ruby on Rails包括兩部分內容:Ruby語言和Rails框架。
什麼是Ruby?
Ruby 語言是一種動態語言,它與Python、Smalltalk和Perl這3種編程語言有些類似。Ruby語言起源於日本,它的研發者是日本人松本行弘(Matsumoto Yukihiro)。松本行弘在1993年開始着手Ruby語言的研發工作,他開發Ruby語言的初衷是為了提高編程的效率。 1995年12月Matz推出了Ruby的第一個版本Ruby 0.95。
Ruby語言的主要特點如下。
1.純的面向對象語言
在Ruby中,一切皆是對象。下面舉一個例子來更直觀地說明Ruby語言的這一特點。
在Java中,求一個數的絕對值的代碼如下。
int c = Math.abs(-20);
而在Ruby語言中,一切皆是對象,也就是說“-20”這個數也是一個對象,因此,求一個數絕對值的Ruby代碼形式如下。
c = -20.abs
這樣的代碼編寫方式是不是更形象一些呢?
2.解釋型腳本語言
Ruby 語言是解釋型腳本語言,它既有腳本語言強大的字符串處理能力和正則表達式,又不失解釋型語言的動態性。一方面,在最初設計Ruby語言時,Ruby的研發者松本行弘考慮到文字處理方面的需要,他借鑒了Perl語言在文字處理方面的成功經驗。另一方面,松本行弘將Ruby語言設定為一種解釋型語言,Ruby 的動態性使得由Ruby語言編寫的程序不需要事先編譯即可直接運行,這為程序的調試帶來了方便。同時,這一特點可以實現開發過程中的快速反饋。
3.其他特點
(1)動態載入。可以在運行時候重定義自己,類也可以在運行時繼承或取消繼承。
(2)自動內存管理機制。
(3)多精度整數。
(4)迭代器和閉包。
(5)開源項目。有大量活躍的社區支持Ruby語言。
什麼是Rails?
雖然Ruby語言有很多優點,但是一直以來,其流行的範圍也僅限於日本。直到2004年,Ruby才逐漸被世界上其他地區的人們所認識,那麼是什麼讓Ruby語言走向世界的呢?是Rails。
Rails 框架首次提出是在2004年7月,它的研發者是26歲的丹麥人David Heinemeier Hansson。不同於已有複雜的Web 開發框架, Rails是一個更符合實際需要而且更高效的Web開發框架。Rails結合了PHP體系的優點(快速開發)和Java體系的優點(程序規整),因此, Rails在其提出後不長的時間裡就受到了業內廣泛的關注。
Rails框架主要有如下的6大特點。
1.全棧式的MVC框架
Rails是一個全棧式的MVC框架,換句話說,通過Rails可以實現MVC模式中的各個層次,並使它們無縫地協同運轉起來。
在實際開發一個MVC模式的Web應用項目時,如果使用Java開發,需要用到Struts(Model層)、Hibernate (Controller 層)和Spring(View層)3個框架,而且需要額外整合3個框架開發出的內容。而使用Ruby語言開發相同的項目時,只需要用到Rails框架就可以完成。
2.約定優於配置
為了說明各個對象之間的關聯關係,一般的Web應用開發框架往往採用寫入XML配置文件的方法。這種方式雖然可以解決一些問題,但是卻帶來了管理上的混亂。
Rails 對此的態度是約定優於配置,這意味着在Rails中不會出現XML配置文件。Rails使用Web應用多年來積累的各種常見約定(更具體地說是命名規則)來代替XML配置文件,而在Rails內部的映射與發現機制根據這些約定可以實現對象之間的關聯。在第1章中,通過Rails的映射與發現機制實現了數據表與Ruby對象之間的關聯。
3.更少的代碼
使用約定來代替XML配置文件說明Rails本身完成了大量的底層工作,這意味着使用更少的代碼來實現應用程序是極有可能的。此外,代碼量的縮減也減小了出現bug的可能性,降低了維護程序和升級程序的難度。
4.生成器
Rails 使用的實時映射技術和元編程技術,免去了開發人員在開發過程中編寫大量樣板文件代碼的煩惱。在少數需要使用樣板文件代碼的時候,開發人員可以通過 Rails內建的生成器腳本實時創建,而不再是通過手工編寫。Rails的這個特點可以使開發人員更專註於系統的邏輯結構,而不必為一些瑣碎的細節所煩擾。
5.零周轉時間
對已有的Web應用系統進行修改後,其一般需要經過配置、編譯、發布、重新設置、測試等一系列步驟才能投入使用,這明顯浪費了許多時間。而使用Rails開發Web應用系統,可以通過瀏覽器即時查看程序運行結果,從而節約了大量的時間。
6.支架系統
Rails的支架系統可以自動為任何相關的數據庫表創建一套包含標準CRUD操作和前台視圖的系統。通過支架系統,開發人員可以方便快捷地操縱數據庫中的數據表。此外,Rails也允許開發人員使用自己設計的代碼或視圖來替換自動生成的代碼和視圖。
目前,Rails的最新版本是2005年12月13日發布的v1.0.0。從RoR正式提出到v1.0.0的發布,RoR在一年多的時間裡受到了業內人士的廣泛關注。RoR受到廣泛關注主要有如下兩個原因:首先,RoR的開發效率高(部署容易)、功能豐富(支持Ajax等流行應用),有消息稱對於相同的 Web開發項目,使用RoR開發比使用Java體系架構開發快5~10倍;此外,令人不可思議的高性能是其受到關注的另一個重要原因,根據CSDN上轉載的新聞稱使用RoR開發出來的項目性能,比基於Struts+Hibernate+Spring的Java應用還要高15%~20%。
RoR 當前遇到的主要問題是使用RoR搭建的大型商業應用還很少,究其原因可以概括為兩點:第一,從開發能力的角度,RoR是一個基於Ruby語言的輕型Web 開發框架,很多開發者對其是否適合大型應用難以把握。第二,本身使用RoR開發的大型商業應用較少,使得後來者持觀望態度。
綜合分析來看,RoR的發展前景還是很光明的。RoR在短時間內取得了巨大的成就,它打破了Web開發領域的固有觀念,方便快捷的開發方式使其被廣泛接受。而事實上,現在已有幾家跨國公司正在使用RoR開發自己的Web應用程序,並且有多家大型公司在考慮使用RoR進行Web應用開發。
php文件如何打開?
“假如你是學編程,用editplus,ultraedit,zend
studio,red
rails等等編程軟件都可以打開(OPEN).
假如你從網頁打開(OPEN)鏈接下載(DownLoad)了1個後綴為php的文件,吧文件名後綴改為.html用瀏覽器打開(OPEN)看看就知道了”
最好用的框架是哪個?CI,YII,rails,thinkphp哪個好?
所有框架中最神奇的、開發最迅速的是ruby on rails,號稱比別的框架快4倍,所言非虛,因為rails有自動代碼生成器功能,創建一個模型,自動給你搭好CURD操作。後來的很多框架,包括django(python),lavarel(php),cakephp(php)都是模仿rails,但都不如rails,主要原因在於ruby語言本身的簡潔與優美,讀rails的代碼感覺特別舒服,特別精練,一點不繞(很少有php框架中常見的大段檢測、對比、if判斷代碼),而其它語言的框架都達不到這點
目前最活躍的框架是thinkphp、CI、YII社區也還可以,其餘的社區人氣很差,沒法考慮,尤其是rails,在中國人氣非常之低,配置與啟動需用命令行,win系統不能很好兼容,問題都找不到答案,最終不得不捨棄。
從人氣與文檔詳細上,最終勝出的是tp,ci,YII,ZEND至今連個中文手冊都沒有,直接pass,不管它號稱多麼強大,連個中文社區與文檔都沒有,出了問題還要翻牆看英文,太痛苦了
在TP、YII、CI三者的角逐中,YII同樣有命令行(有命令行的一律減分),有自動生成器功能,但是有個巨大缺點:生成出很多不用的空文件夾,導致文件結構非常混亂,控制器文件、模型文件夾四處都有,不知道哪個跟哪個,而且YII的函數比較碎片化,語法不夠清晰也不好懂,最終PASS
TP是國產的,如果CI給80分,TP也可以給75分,兩者很接近,tp社區人氣很活躍,有什麼問題百度一搜就出來了,開源代碼也非常多,類庫集成度跟CI不相上下,差就差在文件結構上稍遜CI一些,語法易懂性也比CI稍差
Ruby 0n Rails 在網站開發上有什麼優勢?相對於其他的語言php java等
1.擴展很方便,功能很齊全。開發的時候會有很多很多不同需求,但是這個東西已經有人寫過了,你可以直接拿來就用,比如nokogiri,paginate等等。而且很方便獲取,用gem install就可以。
2.開發效率快,因為你不用注重底層代碼構建,提供的基礎方法很多,php或者java還要手寫。
3.數據庫可移植性太強了。一份database.yml,可以對應多種數據庫,前提是你安裝了gem包。
4.方便移植帶走。你裝了很多gem,只要另外一台server上ruby版本和rails版本一樣,你可以直接bundle install,把你的環境直接安裝進來。如果php用到非標準庫,你還用phpize編譯,改php.ini,比較麻煩。
5.PHP和Java的學習代價略高於rails,當然你也可以直接使用現成的框架,比如thinkphp這種的。
PHP 是不是被 Ruby on Rails 帶上了邪路
PHP框架?
ROR 的確有php可以學習借鑒的地方,未必會是邪路。
為什麼說PHP是世界上最好的語言
部署簡單
很多其他行業的公司,希望有一個網站,他們並沒有多少預算在網站上,可能只是隨便買了一個虛擬主機,這時恐怕最好的選擇就是 PHP 了。支持 Ruby, Python 之類的語言的虛擬主機很少,ASP 需要 Windows 的服務器,只有 PHP 可以運行在任何一家虛擬主機上。
學習門檻低
一開始 PHP 是專為 Web 設計的語言(雖然現在已經在向通用編程語言靠攏了), 學習和使用門檻很低,建一個 .php 文件就是網頁,用 $_GET[‘XXOO’] 就可以獲取到 GET 參數。而其他通用編程語言,原生並不支持這些與 HTTP 協議相關的功能,這時就需要選擇並學習一款 HTTP 框架才能編寫 Web 應用,例如 Tornado(Python), Ruby on Rails 等。
語法簡單
PHP 一開始是弱類型的(現在只是不那麼弱了而已,還算不上強類型),幾乎不需要考慮類型轉換的事情,甚至在一開始很長的一段時間裡,都沒有支持面向對象。PHP 可以非常簡單地從數據庫中存取數據,而一半的網站也無非是從數據庫中讀寫數據。
因為 PHP 是以 CGI 或 FastCGI 的形式運行的,因此也不必考慮內存管理的問題,反正每次請求後,內存都會被釋放。
PHP 的錯誤處理機制也很簡單——如果出錯就在頁面上打印錯誤信息。想要關閉錯誤提示也同樣簡單。
很多重量級的開源項目
如 WordPress(博客), Typecho(博客), Drupal(CMS), MediaWiki(WIKI), DiscuzX(論壇) 等等,可以說想要不折騰地部署一個網站 PHP 就是最佳選擇。
經過了歷史考驗
PHP 畢竟也算是老牌 Web 編程語言了,能踩的坑已經被前輩踩過了,大量的庫可以重用,要招會 PHP 的開發人員也很容易,而 Node.js, Golang 等等新語言則會遇到技術儲備,人才儲備方面的問題。而 Python, Ruby 也不要高興得太早——雖然你們很早就被發明出來了,但那時候還沒多少人搞 Web 開發。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/219690.html