2010-01-03 21 views
2

我試圖將WordPress與我的Zend應用程序集成使用插件,它工作得很好,除了一件事:基地url 。我的wordpress插件在/ myapplication/libray/wordpress的應用程序引導程序中調用我的集成函數。因此,請求庫網址被設置爲整個應用程序的這個值。我想愚弄Zend,認爲請求是從/ myapplication/public派發的,以便它可以相應地檢測到基礎URL。當然,$ request-> setBaseUrl('/ myapplication/public')將是一種簡單的方法,但是這會在博客將託管在blog.myapplication.com上的生產端和我的基URL映射到/並不會造成問題。我不想根據應用程序環境進行破解和放置條件。如何愚弄Zend認爲請求是從另一個目錄而不是默認的index.php

有沒有一種優雅的方式來做到這一點。我試着玩弄請求對象和$ _SERVER變量,比如REQUEST_URI,SCRIPT_NAME SCRIPT_FILENAME PHP_SELF,但我似乎無法使其工作。也許我需要使用一個Route對象,如果有的話,是否有人可以解釋我是如何解釋的,因爲在這種情況下,我對理解這個概念似乎沒有最大的把握。

回答

1

爲什麼不做$request->setBaseUrl()根據APPLICATION_ENV常數?

if (APPLICATION_ENV != 'production') { 
    $request->setBaseUrl('/myapplication/public'); 
} 

或更好 - 在開發機器上設置虛擬主機來模擬實際的生產設置。

+0

那麼,這實際上正是我所做的另一種方法,即使我對這種方法並不滿意。但我想這是迄今爲止最簡單的解決方案,不會增加不必要的複雜性。 – 2010-01-06 14:32:14

+0

@gnarf總而言之,畢竟我認爲它解決了這個問題。更好地使用這種方法比沒有。 – 2010-02-22 02:10:53

相關問題