2010-05-02 5 views
3

저는 작은 프로젝트에서 일하고 있는데 어떻게 든 국제화 지원을 구현해야합니다. 필자는 상수를 사용하여 여러 텍스트를 하나의 파일에 정의 할 수 있다고 생각하고 있습니다.이 파일은 이후에 포함될 수 있습니다. 그러나 변수를 사용하는 것이 더 빠르면 잘 모르겠다. 또는 너무 많은 성능 저하없이 연관 배열을 사용하지 않아도된다.변수 대 PHP의 연관 배열 대

PHP에서 상수 값을 정의 할 때 더 좋은 점은 define("FOO", "...")을 사용하여 정의 된 성능 상수 또는 $foo = "..." 같은 간단한 변수 또는 $symbols["FOO"]과 같은 연관 배열을 정의하는 것입니다. gettext

이 질문의

답변

4

성능에는 눈에 띄는 차이가 없으므로 걱정하지 마십시오. 유지하기가 더 쉬운 일을하십시오.

개인적으로 너무 복잡하지 않다면 연관 배열을 사용합니다. 상황이 좀 더 복잡하면 gettext를 사용하십시오.

1

생각해은 성능과 관련이 없습니다.
구문에 문제가 없으므로 (즉, 상수와 변수) 성능에 영향을 미칠 수 있습니다.

0

Zend_Translate와 Zend_Locale과 함께 필요한 다른 구성 요소 (Zend_Date, Zend_Currency 등)를 사용해 볼 수도 있습니다. 파일 공간 측면에서 앱의 크기를 키우 겠지만 모든 번역을 쉽게 캐시 할 수 있으며 번역을위한 다양한 형식 (getext, tmx, csv, xliff 등) 중에서 선택할 수 있습니다. .

1

컴파일 된 언어에서 상수는 성능과 메모리 요구 사항에 모두 영향을주는 상수 값을 가진 컴파일러로 대체됩니다.

PHP define은 악명이 높습니다. 그래서 많은 사람이, 심지어 문제를 해결하기 위해 PHP 확장을 썼다 있도록 : 당신이 지원을 국제화 지금은 그것을 생각 http://pecl.php.net/package/hidef


을,이 확장은 좋은 옵션을 고려할 수있다. 읽기/비 프로그래머가 이해하기 쉽게

int N  = -191 
str ABC = "xyz" 
float PIE = 3.1419 
bool ART = true 

(예 : 번역자)

:
그것은 당신이 뭔가를 찾고, 별도의 INI 파일에 상수를 정의 할 수 있습니다