Перейти к содержимому


Собственные функции на php


Сообщений в теме: 10

#1 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 22 Июнь 2013 - 15:33

В каком файле и где можно хранить собственные функции на php, чтобы потом их использовать при написании вычислений? И чтобы при обновлении ревизии они не потерялись.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 24 Июнь 2013 - 08:48

В файле include/functions_custom.php. Файл подключается автоматически.

#3 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 28 Июнь 2013 - 20:24

Написал простую функцию, которая преобразует дату из поля типа "дата" (переменная $date1) в формат вида "___" мая 2013г. или другой (в зависимости от значение переменной $format). Это используется в шаблоне договора.
function formatDatePropis($format, $date1) {
  switch (substr($date1, 5, 2))
   {
	case "01": $mounth = "января"; break;
	case "02": $mounth = "февраля"; break;
	case "03": $mounth = "марта"; break;
	case "04": $mounth = "апреля"; break;
	case "05": $mounth = "мая"; break;
	case "06": $mounth = "июня"; break;
	case "07": $mounth = "июля"; break;
	case "08": $mounth = "августа"; break;
	case "09": $mounth = "сентября"; break;
	case "10": $mounth = "октября"; break;
	case "11": $mounth = "ноября"; break;
	case "12": $mounth = "декабря"; break;
   }
switch ($format)
   {
	case "__.ММ.ГГГГ": $date_for_print = "\"___\" ".$mounth." ".substr($date1, 0, 4)."г."; break;
	case "__.__.ГГГГ": $date_for_print = "\"___\" __________ ".substr($date1, 0, 4)."г."; break;
	case "__.__.ГГ__": $date_for_print = "\"___\" __________ ".substr($date1, 0, 2)."___г."; break;
	default: $date_for_print = "\"".substr($date1, 8, 2)."\" ".$mounth." ".substr($date1, 0, 4)."г.";
   }
return $date_for_print;
}
Сохранил функцию в файле include/functions_custom.php. Однако при использовании этой функции в вычислении, дата, например, 26.05.2013 преобразуется в "26", а должна в "___" мая 2013г.
Если функцию сохранить в файле functions1.php, то все работает нормально.
Что не так?

Сообщение отредактировал arsenal: 28 Июнь 2013 - 20:25


#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 29 Июнь 2013 - 12:18

Во-первых, вы зря писали для этого свою функцию, т.к. она уже есть.

Во-вторых, дело скорее всего не в том, где вы ее сохраняете (это не может никак влиять на результат), а в том, какие параметры вы туда задаете.

Советую воспользоваться встроенным функционалом.

#5 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 30 Июнь 2013 - 13:01

все таки хочется разобраться.
В одном и том же вычислении функция выдает разные результаты, в зависимости от того, в каком файле ее сохранить.

#6 arsenal

    Активный участник

  • Пользователи
  • PipPipPip
  • 448 сообщений

Отправлено 12 Июль 2013 - 06:38

Дело оказалось в неправильной кодировке файла

#7 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 28 Апрель 2014 - 16:55

Накосячил. :(
В файле functions_custom.php допустил синтаксическую ошибку по невнимательности, поспешил и точку с запятой поставил где не надо. Теперь на любой странице вижу только сообщение

Цитата

Parse error: syntax error, unexpected ';', expecting ')' in /home/test51/public_html/include/functions_custom.php on line 27
В том числе, теперь не могу попасть и на ту страницу, через которую можно редактировать этот файл functions_custom.php - конфигурация и менеджер файлов теперь тоже стали недоступны (видно только сообщение об ошибке). Что можно сделать теперь?

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 28 Апрель 2014 - 16:59

Если речь про аккаунт на saas, отправьте заявку в техподдержку, вам восстановят доступ. В остальных случаях вы сами можете исправить, открыв файл напрямую.

#9 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 28 Апрель 2014 - 17:05

Ясно, спасибо. Да, речь про saas-аккаунт.

#10 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 28 Апрель 2014 - 17:18

А не знаете, что написать в полях "Номер версии" и "Ревизия"? А то они обязательны для заполнения в форме заявки в тех.поддержку, но посмотреть сейчас какая версия и ревизия не могу из-за той всё же ошибки

#11 OlegSmirnov

    Активный участник

  • Пользователи
  • PipPipPip
  • 36 сообщений
  • Пол:Мужчина
  • Город:Дмитров, МО
  • Интересы:Собаки, путешествия, web-программирование.

Отправлено 28 Апрель 2014 - 23:19

Просмотр сообщенияOlegSmirnov (28 Апрель 2014 - 17:18) писал:

А не знаете, что написать в полях "Номер версии" и "Ревизия"? А то они обязательны для заполнения в форме заявки в тех.поддержку, но посмотреть сейчас какая версия и ревизия не могу из-за той всё же ошибки
В общем, так и написал - "не могу посмотреть".





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных