Реклама на сайте Advertise with us

Функция с вложенными функциями. Возможно?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 12/05/12 в 19:17       Ответить с цитатойцитата 

Написал код1, в этом коде есть пару самописных функций.
Теперь хочу этот код1 сделать функцией вынести это в отдельный файл и прикрутить к другому коду2.
Возможно ли такое? Просто смущает то что написанная функция будет содержать в себе еще функции.

Последний раз редактировалось: Lexikon (14/05/12 в 12:29), всего редактировалось 1 раз

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 12/05/12 в 19:39       Ответить с цитатойцитата 

такое возможно
но лучше сделать класс

8
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 12/05/12 в 20:12       Ответить с цитатойцитата 

ага, изучай ООП. Оч удобно!

4
 

См.Подпись

С нами с 30.01.07
Сообщения: 33345
Рейтинг: 6370


Передовик Master-X (01.06.2008) Передовик Master-X (16.08.2008) Передовик Master-X (01.03.2011) Передовик Master-X (01.05.2011)
Ссылка на сообщениеДобавлено: 12/05/12 в 20:22       Ответить с цитатойцитата 

Да icon_cool.gif

Подпись Сдаётся в Аренду. $100 за одну строчку в месяц.
Больше 1000 постов в месяц. Обращайтесь в ЛС.

5
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 13/05/12 в 11:00       Ответить с цитатойцитата 

конечно это будет смущать, эти функции то попадут в глобальную область видимости.
т.е. тут вариант, что эти функции будут дальше существовать сами по себе.

можно использовать статический метод класса.
но если рассматривать это в рамках ооп, получается сложнее. это наверное похоже чем то "фасад", объединяем некий функционал, по один интерфейс.

6
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 13/05/12 в 21:45       Ответить с цитатойцитата 

smail54.gif
всем спасибо.
буду пробовать icon_wink.gif

0
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 14/05/12 в 15:51       Ответить с цитатойцитата 

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

Файл: function.php

Код: [развернуть]


если я создаю файл result.php с кодом:

Код: [развернуть]

в этом случае все работает нормально.
НО, как только я подключаю function.php в index.php

с таким содержанием:

Код: [развернуть]


выдается такая вот ошибка:

Fatal error: Cannot redeclare random() (previously declared in function.php)

невозможно переопределить что то в функции random()
как только я убераю функциию random() начинает ругаться на следующую icon_confused.gif т.е. на string_sort()

Х.з. отдельно работает, а в связке нет. icon_confused.gif

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 14/05/12 в 16:09       Ответить с цитатойцитата 

Код:
function UNIQ($subject){

      function random($filename) {
      ...
      }
      function string_sort($a, $b){
      ...
      }

...

}


прикол trollface.png

по идее надо делать так:
Код:
function UNIQ($subject){
random($filename);
string_sort($a, $b);
}
function random($filename) {
...
}
function string_sort($a, $b){
...
}


но я бы настоятельно рекомендовал попробовать изучить классы smail54.gif

8
 

💀💀💀

С нами с 31.05.10
Сообщения: 4688
Рейтинг: 727

Ссылка на сообщениеДобавлено: 14/05/12 в 17:52       Ответить с цитатойцитата 

создаешь файл my_class.php
Содержание my_class.php
Код: [развернуть]


в индексе работаешь так:
Код: [развернуть]

8
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 14/05/12 в 18:43       Ответить с цитатойцитата 

касаемо:
Цитата:
public function string_sort ($a, $b) // я бы порекомендовал использовать встроенную функцию sort() или более подходящую из числа функций сортировки массивов.

там написана функция сортировки массива по количиству символов в строках.
так что вроде продругому не получится.
А так буду разбираться в классах, постараюсь собрать всё в бошке icon_wink.gif
Благодарю за помощь.

0
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 15/05/12 в 09:21       Ответить с цитатойцитата 

походу я туповат icon_confused.gif

Код: [развернуть]


это я написал код синонимайзера, но вот теперь мучаюсь с ним немогу его прикрутить к другому коду. чтоб отдавать $subject; с исходным текстом и на выходе получить $subject; уже обработанный icon_sad.gif

0
 



С нами с 03.02.11
Сообщения: 842
Рейтинг: 301

Ссылка на сообщениеДобавлено: 15/05/12 в 09:46       Ответить с цитатойцитата 

дык заверни все это дело в функцию и все.
Код:

function synonymize($subject) {
// Директория с файлами синонимов.
$syn_dir = "synonyms";
...........
// Результат.
// echo $subject;
// Вместо вывода echo возвращаем return сабж
return $subject;
}
ну и дальше вызывай echo synonymize("text for synonymize");
или
$subject = "text for synonymize";
$my_synonym[] = synonymize($subject);
как-то так. icon_rolleyes.gif

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »