2017-01-16 82 views
2

什麼是routes.phpcodeigniter中的作用?什麼是codeigniter中的routes.php

我的老師是教它說,如果你不使用航線,如例如您的意見將無法正常工作:

$route['blabla'] = ['blabla/blabla'];和關於它的一切!

但對我來說,它的工作沒有使用任何路線。我不知道爲什麼我們應該使用路線。這只是浪費時間。誰能解釋一下?

回答

0

在CI代碼將運行沒有routes.php。 routes.php文件都使用自定義URL /路由一樣,如果你有喜歡的網址

example.com/pages/about_us 

其中「網頁」是你的控制器和「about_us」的方法是在控制,如果你想顯示無控制器網址像example.com/about_us,那麼你就需要這樣

$route['about_us'] = ['pages/about_us']; 
0

路由在大特色笨其中一個用於用戶友好的URL和搜索引擎友好的谷歌搜索使用routes.php文件。

是什麼意思: 如果有用戶搜索您的網站的任何產品,因此URL將 www.domain.in/categalog/Deskstop-Intel-124343 現在,在這種情況下,網址是用戶友好如何解釋它保持在路由。

每次URL被hitted控制流程以routes和從routescontroller

$route['product/(:any)'] = 'catalog/product_lookup'; 

現在categlog/product_lookup被解釋爲商品/任何手段有一個控制器Product其接受ID /文本作爲輸入。

這與根據我們的要求製作用戶定義的網址一樣簡單。

5

在codeigniter中,PHP文件以不同的方式提供,而不是直接從瀏覽器訪問PHP文件。這個過程被稱爲路由

我們的代碼無效改寫 routes.php中的網址。

我們都希望以更方便的方式顯示我們的網頁,以便它對訪問者(當然也是搜索引擎)更有意義。比如,只需在瀏覽器地址欄中查看網址,即可簡要了解網頁包含的內容。如果我們繼續這樣,因爲它是一個什麼樣的方式可以通過服務器腳本(PHP,Asp.NET等)可以理解,像下面這樣應該沒有太大的實現我們的目標:

http://yourdomain.com?p=1 
http://yourdomain.com?p=2 
http://yourdomain.com?w=30 
http://yourdomain.com?z=234 
//etc...... 

從上面的鏈接,沒有辦法理解這些網頁的內容。現在,如果有人像如下:

http://codesamplez.com/database/codeigniter-activerecord 
http://codesamplez.com/programming/regular-expressions-in-php 

這些都是有意義得多,我們可以從只看到URL的簡單說明。此外,搜索引擎提供了較早期的網址,一些更多的價值,這就是爲什麼他們被稱爲「搜索引擎友好的URL」。所以,無論您選擇什麼原因,始終使用SEO友好的網址總是更好。好的,現在,我們決定讓我們的網站更適合SE/visitor,並希望使用這些網址。現在,我們應該如何開發我們的應用程序來將這個url映射到原始請求處理程序腳本?

URL重寫/路由實際上是此搜索引擎友好的URL轉換爲格式,服務器代碼可以很容易地理解技術/驅動器到其對應的請求處理程序腳本的請求。

笨具有用戶友好的URI路由系統,讓您可以輕鬆地重新路由URL。通常,URL字符串與其相應的控制器類/方法之間存在一對一的關係。在一個URI的分段通常遵循此模式 -

your-domain.com/class/method/id/ 
  • 第一段表示應 調用控制器類。
  • 第二段表示類功能,或方法,即 應該被調用。
  • 第三個和任何其他分段代表ID和任何將傳遞給控制器​​的變量。

在某些情況下,你可能需要更改這個默認的路由機制。 CodeIgniter提供了可以設置自己的路由規則的工具。

有一個特定的文件,你可以處理所有這些。該文件位於application/config/routes.php(你已經知道)。您將找到一個名爲$ route的數組,您可以在其中自定義您的路由規則。 $ route數組中的鍵將決定要路由的內容,並且該值將決定路由的位置。 CodeIgniter中有三條保留路由。

$路線[「default_controller」]

這條路線指示哪個控制器類應加載,如果URI不包含任何數據,這將是當人們加載你的根URL的情況。鼓勵您使用默認路由,否則默認情況下會出現404頁面。我們可以在這裏設置網站的主頁,因此它會默認加載。

$路線[「404_override」]

此路線指示哪個控制器類如果沒有找到所請求的控制器應該被加載。它將覆蓋默認的404錯誤頁面。這不會影響到the show_404()功能,這將繼續加載默認error_404.php文件中application/views/errors/error_404.php.

$路線[「translate_uri_dashes」]

由布爾值可以明顯看出,這是不完全的路由。該選項使您能夠自動替換控制器中的下劃線和方法URI段的破折號(' - '),從而在需要時爲您節省額外的路由條目。這是必需的,因爲破折號不是有效的類或方法名字符,並且如果嘗試使用它將導致致命錯誤。

Watch this video for a basic idea

Refer this documentation too

+0

良好的工作..... – chhameed

+0

@chhameed感謝的人:d – NID

+0

你好比拉爾,我想知道爲什麼哥倫比亞大學的CodeIgniter網站沒有采用你的解釋! :-)但是,請從視圖/控制器的角度來看,以一個實用的例子來實現它。因此,「視圖」子視圖是「viewone」,「viewtwo」,「viewthree」和控制器是「Viewone」「Viewtwo」「Viewthree」和viewone/two/three內部,我們有這些相應的頁面「viewone/two/three」+「additem」和+「deleteitem」和「列表」。我無法捕捉到正確的路線.php設置和原則。應該一切都在主index.php或什麼?以及如何配置它?請添加它。 – Robert

相關問題