啓動一個新的Fat Free Framework(F3)項目並且存在hive($ f3)全局變量未在視圖文件中定義/可用的問題。根據文件,$ f3應該是全球可用的。試圖訪問視圖文件中的$ f3,我得到一個錯誤。所以,這裏是代碼:
在index.php文件:
$f3->route('GET /','SomeController->index');
在SomeController.php:
class SiteController
{
public function index($f3)
{
$f3->set('title','Index');
View::instance()->render('indexView.php');
}
}
在indexView.php
echo $f3->get('title');
輸出
Internal Server Error
Fatal error: Call to a member function get() on a non-object
我解決這個問題得到通過明確地傳遞$ F3的觀點,像這樣:
View::instance()->render('indexView.php', 'text/html', array('f3'=>$f3));
但是,你不應該有這樣做。根據該文檔:
string render (string $file [, string $mime = 'text/html' [, array $hive = NULL ]])
Note:
If no data $hive is provided, the global F3 hive is used.