2012-02-07 29 views
0

如何在CakePHP 2.0/2.1的shell中使用Router::url()在shell中使用CakePHP路由

+2

你到底在想什麼?路由器用於路由URL。 Shells與URL沒有任何關係,因爲它們是從您的OS終端而不是您的瀏覽器調用的。 – Oldskool 2012-02-07 23:13:06

+0

我正在做一個記錄一些動作的cron作業。這些操作有一些網址,爲了更方便地查看日誌時訪問,這就是爲什麼我需要使用'Router :: url()' – linkyndy 2012-02-08 10:13:40

回答

1

您可以像在您的controllers/views中一樣使用Router::url()。唯一的情況是如果你需要完整的URL,你必須自己定義完整的基本URL常量。

if (!defined('FULL_BASE_URL')) { 
     define('FULL_BASE_URL', 'http://example.com'); 
    } 
+0

我認爲路由不會默認添加到shell中,我找不到方法導入它們,'App :: uses()'不會說明有關路由的任何信息。 – linkyndy 2012-02-09 10:53:17

+0

'App :: uses('Router','Routing');'。如果您不確定路徑,請檢查cake lib結構,它同樣適用於'App:uses()' – lp1051 2012-02-09 12:01:24

+0

我也遇到過這個問題。 「致命錯誤:類'路由器'」 – numerical25 2012-09-30 22:07:12

1

使用
1.定義 定義( 'BASE_URL', 'autoauction');在/app/Config/bootstrap.php 2. $ home = Router :: url('/',true); $ this-> out($ home.BASE_URL);

它會工作。