當前位置:首頁 » 編程語言 » railsphp

railsphp

發布時間: 2022-06-21 02:50:18

⑴ 關於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應用開發。

⑵ rails 頁面的跳轉方式有幾種

方法一:使用meta標簽
meta標簽是html不可或缺的標簽之一,它負責提供文檔的元信息,其參數主要有:

① http-equiv: 與 文檔中數據相關的HTTP文件首部
② content: 與命名HTTP首部相關的數據
③ name: 文檔描述
④ url: 與元信息相聯系的URL

我們定義屬性http-equiv為refresh,打開此Web頁時系統將根據content規定的值在一定時間內跳轉到相應頁面,content="
秒數;url=網址"就是定義了過多長時間跳轉到指定的網址。以下meta標簽告訴系統一秒鍾後頁面自動跳轉:
<meta http-equiv="refresh" content="1;url=http://www.yourdomain.com">

以上代碼需要加在HTTP文檔首部中,介於<head>與</head>之間,通常,meta標簽是緊跟在<head>之後。若需要有多個meta標簽,它們可以各佔一行。

此法通用於任何環境,包含靜態的網站空間。

方法二:使用header函數

header函數是php內置函數中的HTTP相關函數之一,該函數送出HTTP協議標頭到瀏覽器。使用它可以重定向URL,即令頁面轉向其他指定的網頁。以下例子,執行後將自動打開黑馬在線動力首頁:

header("Location: http://www.gxblk.com/");


須注意,header函數只能用在頁面代碼中的<html>標簽之前,亦即,HTTP首部尚未有其他任何標頭(<head>)傳
送給瀏覽器之前,而且,此前頁面也不能print或echo任何內容。換句話說,在頁面的<html>出現前,程序只單純地處理header
事件。盡管有如此嚴格的要求,靈活地使用它,仍然可以達成頁面的自動跳轉功能,比如登錄頁面,通過判斷用戶提交的數據是否合法來決定頁面跳轉到何處。以下
給出一個簡單的例子:

<?php /* 登錄程序 - 文件名:login.php 程序作用 - 判斷用戶登錄口令 */
if($_POST['Submit'])
{ session_start(); if($_POST['pws']=='123') { //若密碼為 123
$_SESSION['passwd']='123'; //寫入會話數據
header("Location:index.php"); //跳轉到正常頁面 }
else{ header("Location:login.php"); //跳轉到登錄頁面 } } //表單代碼略(也可以用純html代碼寫表單,若如此,代碼應放在程序之後 ?>
<?php
/* 檢測會話數據 - 文件名:index.php 程序作用 - 檢測會話數據中的密碼是否為123,若不是,返回登錄頁面
*/ session_start(); if($_SESSION['passwd']!='123')
header("Location:login.php"); //其他代碼(純HTML代碼應寫在程序之後) ?>
此法顯然只能用於支持php的空間環境。

方法三:使用JavaScript

JS非常靈活,利用它可以做出功能非常強大的程序腳本,這里僅舉一個簡單的頁面自動跳轉的JS例子。以下代碼執行後瀏覽器將自動轉到黑馬在線動力網站,該代碼可放在頁面中的任何合法的位置:
<script language="javascript" type="text/javascript">
window.location.href("http://www.yourdomain.com");
</script>
此代碼適用於任何Web環境。

⑶ 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 rails 伺服器 合租 VPS 合租也行,哪裡有

Linode 可以吧

三人合租,兩人合租也有,
可以用的 45 一個月不貴吧
筘筘 601259096

⑸ 請問,用php,pyphon, ruby,哪一種語言開發網站的速度最快

通常,用自己越熟悉的語言,開發速度越快。

如果對幾種語言的熟悉程度差不多,Ruby on Rails最快。

⑹ php 有沒有 rails類似的框架

Akelos
Akelos PHP框架是一個類似於Ruby on Rails的框架,是基於MVC(Model View Controller)設計模式的web應用開發平台。由於Akelos對伺服器唯一的要求就是支持PHP,與其他類似框架相比它的代碼應用寫得較少,因此它可以在大多數共享主機伺服器上運行,它通過約定俗成代替配置來幫助開發人員減少代碼的編寫數量。Akelos可以支持URL的改寫、資料庫移植等內容,它的主要目的在於,幫助程序員開發基於資料庫的多語言Web應用程序,依據MVC模式加快復雜的 web 應用程序的創建。
CakePHP Framework
CakePHP 無論對於初學者還是職業PHP開發者都是很好的選擇。它基於與Ruby on Rails同樣的原則而設計,它十分注重快速開發——這使得它成為一個非常好的用於RAD的開發框架。它快速增長的支持系統,簡潔性和可測量性使得 CakePHP成為今天可用的最受歡迎的PHP開發框架之一。
CodeIgniter PHP Framework
CodeIgniter 是一套小巧但功能強大的PHP 框架,做為一個簡單而"優雅"的工具包,它是一套專為PHP 開發者建立功能完善的Web 應用程序。如果你是一個使用虛擬主機,並且為客戶所要求的期限而煩惱的開發人員,如果你已經厭倦那些難而且效率不高的框架,你一定會喜歡CodeIgniter。
Fusebox Framework
Fusebox是構建ColdFusion和PHP Web 應用程序最流行的框架。它的目的是使應用程序更易於創建和維護,並使團隊開發更加容易。
Php On Trax
Php On Trax是一個採用MVC架構,適用於PHP5與PHP4環境,基於Ruby on Rails框架思想的web開發與持久層框架。它包含了創建依賴於資料庫的Web系統所需要做的所有事件,是Ruby on Rails框架的一個真正PHP克隆。
HPDevShell Framework
PHPDevShell是一款開源(GNU/LGPL)的快速應用開發框架,用於開發不含 Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。
OpenBiz PHP Framework
Openbiz Framework的設計目標是節省構建復雜應用系統的開發投入和縮短開發時間。藉助於Openbiz的幫助,應用程序的開發將基於完善的MVC架構建立,以Metadata驅動為核心描述業務邏輯,支持多種ORM邏輯,並且有Openbiz Appbuilder作為圖形化集成開發環境的快速開發平台。
PRADO Component-based Framework
PRADO是在PHP5環境下的一個基於事件驅動和基於組件的WEB應用研發框架。PRADO專注於建立一個代碼重用和事件驅動的編程標准。如果你曾經用Delphi或者Visual Basic等這些RAD開發工具來開發Windows程序的話,那麼你會發現使用PRADO來開發WEB應用是非常類似的,你可以很快就掌握PRADO來進行WEB應用的開發。
QPHP (Quick PHP) Framework
QuickPHP是用於測試和調試PHP腳本的獨立Web伺服器。QuickPHP不需要安裝(只解壓並運行),已包括PHP5,可以用來測試基本的PHP腳本。該QuickPHP伺服器支持GET,POST和HEAD請求,並提供最低配置選項,只需選擇你的PHP腳本的根目錄,然後可以在瀏覽器中訪問了。
Seagull PHP Framework
Seagull是個純OOP(面向對象程序設計)框架,可用於創建web,command line(命令行)和GUI的應用程序。它採用了BSD授權,讓PHP開發者可以更容易地整合並管理代碼源,更快速地建立復雜的應用程序。

⑺ php,python,ruby,perl的優缺點

perl基本已經被淘汰,在各方面幾乎已經沒有優勢,雖然說還正在開發perl6啊什麼的,不過基本上大勢已去。雖然在部分場合還有應用,不過大部分都只是因為歷史遺留問題而已,也就是說一些老軟體用這個,部分地方還因為各種原因沒去替換這些老軟體而已。

從web的角度來看,這四個語言都做過web開發,不過後來php代替了perl。而現在作為python的django構架和ruby的Ruby On Rails構架正在逐漸代替php。因為php也有其天生的缺憾,例如對於模板分離式編程不是天生的支持導致的。所謂模板分離也就是由網頁製作和美工人員寫純網頁,又程序員寫純程序,然後二者結合。在這個模式之前就是典型的php默認,代碼和頁面都是一個php文件並未分離。

不過php在現在還是有其頑強的生命力的,這也是有其歷史遺留原因的,畢竟太多大型網站、大型項目都使用php,一時之間改變還很難。

排除web構架以外,python和ruby都差不多的,其對各種庫的支持也都相似。總體來說現在python的普及率要高一點,可能因為一種先入為主的優勢吧。高就高在幾乎所有linux發行版,OSX系統都自帶python,但是ruby則不然。

python在某些非常輕量級的桌面任務上可能也有優勢,因為自帶一個gui庫,tinkter,不過這一點優勢應該很小,因為畢竟太輕量級了,就是說太簡單了,用處一般。

從語法的角度來說,未來肯定還是python、ruby這種開發更簡單的語言的天下,php還保留著c/c++遺留下來的各種語法詬病,要是只論純開發速度肯定不如python、ruby的強,這里主要說的web,因為php開發桌面程序那還是隨便玩玩的,雖然有吧。

⑻ 在網上下載的PHP文件 用什麼軟體能打開

如果你是學編程,用editplus,ultraedit,zend
studio,red
rails等等編程軟體都可以打開.
如果你從網頁打開鏈接下載了一個後綴為php的文件,吧文件名後綴改為.html用瀏覽器打開看看就知道了

⑼ 用什麼語言可以實現前台與用戶更友好的交互 ruby,PHP,perl,python都能做什麼都有什麼優點

你的這個問題說明你還不太懂這些東西,你所說那那些比如用戶點擊一個按鈕的同時不用等待網頁的響應,現在比較流行的做法是ajax,你上面所說的四種語言都可以用來做網站的後台,其中ruby和python是種不錯的腳本語言,他們都開發出來了一些優秀的框架,比如ruby現在很火的rails框架,可以快速的建立網站,你可以看一下使用rails你可以5min就能建立一個博客網站。php也可以做後台,但是比較繁瑣,隨著計算機硬體的提升,php這種繁瑣的語言我個人覺得會被ruby和python代替,應為這兩者對開發者來說很容易,就像ruby的作者創立這門語言的初衷一樣:讓程序員快樂的編程。

熱點內容
x2哪個配置性價比高 發布:2025-02-06 00:40:12 瀏覽:109
豬哥亮訪問張菲 發布:2025-02-06 00:37:52 瀏覽:570
期貨賬戶怎麼改密碼 發布:2025-02-06 00:32:35 瀏覽:279
qq自動上傳群文件 發布:2025-02-06 00:26:25 瀏覽:110
安卓照片放在什麼地方 發布:2025-02-06 00:26:24 瀏覽:988
linux系統鏡像iso 發布:2025-02-06 00:15:39 瀏覽:188
存儲上料模塊的意義 發布:2025-02-06 00:14:14 瀏覽:125
unix時間戳轉換php 發布:2025-02-06 00:13:27 瀏覽:404
我的世界網易電腦板好玩的槍械rpg伺服器 發布:2025-02-06 00:08:04 瀏覽:346
非揮發性記憶體永久性存儲器 發布:2025-02-06 00:07:17 瀏覽:267