2013-06-18 32 views
0

我正在使用Laravel 4框架,並試圖設置Facebook身份驗證系統。我有一個身份驗證系統,我在另一個網站(不使用框架)上使用了config.php和process_facebook.php文件。我正在嘗試將這個config.php文件實現到我的視圖中。到目前爲止,我將這些文件包含在我的「app」文件夾中的一個名爲「includes」的文件夾中。我試圖用下面的代碼來實現它:在我的意見中使用PHP腳本Laravel 4

$app = app(); 
include($app['path.app'].'/includes/config.php'); 

我的問題是,在視圖中,我把這個代碼?我必須使用php標籤嗎? (我正在使用blad功能)。感謝您的幫助。

+0

而不是將一箇舊的腳本工作到L4,也許看起來遷移Facebook認證? https://packagist.org/search/?q=facebook%20auth – Cristian

+1

不要把這樣的邏輯放在你的視圖中,而是放在一個控制器或另一個「模型」類中。 –

+0

你是如何處理這個問題的?不要忘記說出你最終選擇的解決方案,或者至少,如果你不需要更多的解釋,接受一個解決問題的答案。這對於引導下一個觀衆以正確的方式很重要。 –

回答

0

不推薦使用包含配置文件的路由,但這是可能的。請參閱有關Laravel Configuration Files的信息。

您應該能夠使用您的看法如下:

<?php include(app_path().'/includes/config.php'); ?> 

由於它是一個配置文件,這將是更好地使用require(),而不是include()。 此外,將文件包含在必要的控制器中也會更好。

2

Laravel是一個MVC框架,目的是組織你的代碼並清理你的視圖。所以這不應該在你看來。

我認爲最好的辦法應該是:

  1. 創建facebook.php文件中config文件夾至極包含所有的Facebook配置(讀http://laravel.com/docs/configuration
  2. 創建一個名爲serviceshelpersincludes文件夾(如你想),並把process_facebook.php裏面(我敢打賭,它包含處理facebook API的方法)。
  3. 添加配置的兩條線包括這個新的文件夾

就像是:

// composer.json 
"autoload": { 
    "classmap": [ 
     [...] 
     "app/services", 
    ] 
}, 

// start/global.php 
ClassLoader::addDirectories(array(
    [...] 
    app_path().'/services', 
)); 

然後,你可以用你的Facebook類或方法在你的應用程序。