2013-11-15 3 views
0

я поставил в myFile.php эту функцию:PHP функция (ярлык) использовать

function monthLanguage() 
{ 
    if ($this->lang=='italian')//this statement is requared many times within the file! 
    { 
     $dayName[]="Dom"; 
     $dayName[]="Lun"; 
     $dayName[]="Mar"; 
     $dayName[]="Mer"; 
     $dayName[]="Gio"; 
     $dayName[]="Ven"; 
     $dayName[]="Sab"; 
    }else 
    {  
     $dayName[]="Sun"; 
     $dayName[]="Mon"; 
     $dayName[]="Tue"; 
     $dayName[]="Wed"; 
     $dayName[]="Thu"; 
     $dayName[]="Fri"; 
     $dayName[]="Sat";  
    } 
} 

Я думал, чтобы обернуть это, если оператор в функцию, чтобы назвать его, где требуется как своего рода короткий код.

Я называю это так:

monthLanguage(); 

, но я получаю сообщение об ошибке: Вызов неопределенной функции

Любая помощь о том, как достичь моего короткого кода намерения?

+1

Поскольку вы используете '$ this' в своем коде, я собираюсь предположить, что это в классе. Если вы вызываете его из своего класса, используйте '$ this-> monthLanguage();' else '$ classInstantiator-> monthLanguage();'. –

+0

Можете ли вы добавить код, вызывающий его? это monthLanguage внутри класса, так как кажется, что вы используете $ this – wgcrouch

+0

И убедитесь, что вы включили этот файл – GiveMeAllYourCats

ответ

1

Включает в себя функцию monthLanguage файл, в котором вы его используете? Кроме того, я заметил две проблемы с этим кодом. Вы не инициируете array под названием $dayName, и ничего не возвращается, поэтому функция не отправит обратный вывод. Это должно быть так.

function monthLanguage() 
{ 
    $dayName = array(); 
    if ($this->lang=='italian')//this statement is requared many times within the file! 
    { 
     $dayName[]="Dom"; 
     $dayName[]="Lun"; 
     $dayName[]="Mar"; 
     $dayName[]="Mer"; 
     $dayName[]="Gio"; 
     $dayName[]="Ven"; 
     $dayName[]="Sab"; 
    }else 
    {  
     $dayName[]="Sun"; 
     $dayName[]="Mon"; 
     $dayName[]="Tue"; 
     $dayName[]="Wed"; 
     $dayName[]="Thu"; 
     $dayName[]="Fri"; 
     $dayName[]="Sat";  
    } 
    return $dayName; 
} 

Кроме того, $this не ясно, так что, как правило, используется в рамках одного класса, поэтому, возможно, вам необходимо установить функцию следующим образом:

function monthLanguage($lang) 
{ 
    $dayName = array(); 
    if ($lang=='italian')//this statement is requared many times within the file! 
    { 
     $dayName[]="Dom"; 
     $dayName[]="Lun"; 
     $dayName[]="Mar"; 
     $dayName[]="Mer"; 
     $dayName[]="Gio"; 
     $dayName[]="Ven"; 
     $dayName[]="Sab"; 
    }else 
    {  
     $dayName[]="Sun"; 
     $dayName[]="Mon"; 
     $dayName[]="Tue"; 
     $dayName[]="Wed"; 
     $dayName[]="Thu"; 
     $dayName[]="Fri"; 
     $dayName[]="Sat";  
    } 
    return $dayName; 
} 

И вы бы затем вызвать функция в PHP, как это:

monthLanguage($this->lang); 

Или так:

monthLanguage($lang); 

Но неясно, где эта функция размещается или используется, поэтому уточните, что решить, какой из них лучше всего подходит.

0

Я не думаю, что вы можете использовать $ this-> lang - он обычно зарезервирован для метода, если я не ошибаюсь.

Попробуйте заменить функцию таким образом, чтобы она работала как шарм.

function monthLanguage($lang) { 
    if ($lang=='italian')//this statement is requared many times within the file! 
    { 
     $dayName[]="Dom"; 
     $dayName[]="Lun"; 
     $dayName[]="Mar"; 
     $dayName[]="Mer"; 
     $dayName[]="Gio"; 
     $dayName[]="Ven"; 
     $dayName[]="Sab"; 
    }else 
    {  
     $dayName[]="Sun"; 
     $dayName[]="Mon"; 
     $dayName[]="Tue"; 
     $dayName[]="Wed"; 
     $dayName[]="Thu"; 
     $dayName[]="Fri"; 
     $dayName[]="Sat";  
    } 
} 
+0

* $ this-> lang - обычно это зарезервировано для метода, если я не ошибаюсь .* - Вы ошибаетесь. – nickb

+0

Уход за разработкой? – Andy

Смежные вопросы