2010-12-05 5 views
0

아래에 두 가지 PHP 함수가 있습니다. 기본적으로 같은 것을 수행합니다. 내가 알고 싶은 것은 이들 중 어느 것이 가장 사용하기 좋은가입니다.이 중 어느 것이 더 나은 PHP 기능입니까?

$ LANG은 다른 값

$lang = array(

    'default' => 'This is the default text', 

    'site' => array(
     'name' => 'Website', 
     'url' => 'website.com', 
    ), 

    'logo' => 'images/logo', 

); 

를 저장하고 내가 지원 여러 언어를 구축하고있는 응용 프로그램으로 텍스트를 표시하는 응용 프로그램 전체에서 이러한 기능 중 하나를 사용하는 것입니다 점에 유의하시기 바랍니다 배열입니다.

기능 1 :

function lang($text='default') { 

    global $lang; 

    $text = explode(',',$text); 

    if(!empty($text[1])) { 
     $newtext = $lang[$text[0]][$text[1]]; 
    } 
    else { 
     $newtext = $lang[$text[0]]; 
    } 

    echo $newtext; 

} 

사용법 : <?php lang('default'); ?> or <?php lang('site,name'); ?>

기능 2 :

function lang($text='default', $text2='') { 

    global $lang; 

    if(!empty($text2)) { 
     $newtext = $lang[$text][$text2]; 
    } 
    else { 
     $newtext = $lang[$text]; 
    } 

    echo $newtext; 

} 

사용법 : 제 생각에는 <?php lang('default'); ?> or <?php lang('site','name'); ?>

+1

당신이 선호? – salathe

+0

두 가지 모두 나에게 좋을 것 같다. 내가 너희에게 묻는 이유는 : D 나 너희들은 계속 나아가 새로운 기능을 제안 할 수있다. ... –

+1

그런 다음 하나를 선택하고 (그것을 결정할 수 없다면 무작위로) 그것을 사용한다. – salathe

답변

2

둘째로, 두 가지 방법으로 나누고 싶습니다.

예 :

GetLanguage($site) 
    returns an associative array of strings 

그리고

GetLanguageKeyValue($site, $key) 
    returns value as string 
3

는 두 번째 기능은 인수보다 논리적이다 . 그리고 첫 번째 함수의 분해 함수는 두 번째 배열의 연산보다 느립니다.

2

필자는 기능 2를 선호합니다. 두 개의 매개 변수가 있다는 것이 훨씬 분명합니다.

+0

사실입니다. No 1은 "stringly typed"라는 용어를 생각 나게합니다 (http://stackoverflow.com/questions/2349378/new-programming-jargon-you-coined/2444303#2444303) ... – delnan

관련 문제