2013-06-18 53 views
1

我有一個數組中的300個字符串,並且想要比較給定的字符串是否是數組中的一個字符串。Symfony2 - 創建全局文本文件的最佳方式是什麼?

例如,我要比較的字符串是"blabla"。 如果該字符串存在於300個字符串的數組中,請執行一些操作。要做到這一點,我將使用PHP函數:in_array();

現在,我的問題是:我在哪裏存儲這個巨大的數組?在文件中?如果是這樣,我在哪裏存儲文件? symfony是以什麼方式管理的?

+1

或在數據庫中? – cheesemacfly

+0

嗯,有趣的點... –

+1

如果這300個字符串總是相同的,你可以使用doctrine-fixture在你將項目安裝到某個地方時加載數據庫,然後在你首次檢索數據時使用doctrine cache。這可能是我怎麼做的 – cheesemacfly

回答

1

假設你的陣列是固定的,不會改變......

final class StringProvider 
{ 
    const strings = array(
    // ... array here 
    ) 

    public function match($string) 
    { 
     return in_array($string,self::strings); 
    } 
} 

訪問常量

StringProvider::strings 

...或者使用功能

$stringProvider = new StringProvider(); 
if ($stringProvider->match($string)) { 
    // do stuff. 
} 

使用的Zend OPCache或APC將文件存儲在內存中將是最好的選擇。

相關問題