Форумы портала PHP.SU » » Вопросы новичков » Хранение функции в файле

Страниц (1): [1]
 

1. cod - 18 Июля, 2011 - 23:24:32 - перейти к сообщению
Собираясь гуглить думал, что быстренько найду ответ на свой вопрос. Наверняка не я первый этим интересуюсь. Но как-то пусто оказалось, может не так искал.. В общем, у меня вопрос:
Можно ли описать функцию в отдельном файле и потом по мере надобности использовать её из этого файла в других php-скриптах? Думаю понятно для чего это, - чтобы уменьшить количество кода.
(Добавление)
Хех Хорошо Только создал тему, вернулся к коду и сам разобрался))
Через функцию include() всё без проблем делается. Создаёшь файл с описанием функции и потом его подключаешь, - всё можно использовать функцию.
А у меня сначала не получилось потому что я в файле не поставил тег <?php... ?>
2. foozzi - 19 Июля, 2011 - 08:49:23 - перейти к сообщению
это очень банально )
я никогда не поверю что описание правила для инклуда не описываются в поисковиках)
3. Slavenin - 19 Июля, 2011 - 16:27:57 - перейти к сообщению
cod, курите ООП и будет вам счастье и лучше использовать
а не инклюд
4. alxfro - 19 Июля, 2011 - 20:54:31 - перейти к сообщению
Сделай себе отдельный класс с набором функций и используй его при необходимости..
Я имею ввиду

mysuperclass.php
PHP:
скопировать код в буфер обмена
  1. class mysuperclass ()
  2. {
  3. function _1 ($input)
  4. {
  5. echo 'trololo'.$input;
  6. }
  7.  
  8. function _2()
  9. {
  10. $this->function_1('trololo');
  11. }
  12. }


и наконец
PHP:
скопировать код в буфер обмена
  1. include "mysuperclass.php";
  2. $superclass = new mysuperclass();
  3. $superclass -> functton2();


выведет
trololotrololo


какой, однако, странный вопрос Не понял
5. Конструктор - 19 Июля, 2011 - 21:03:55 - перейти к сообщению
Кстати разрешение подключаемого файла не обязательно должно быть *.php.
Можете сделать свое, только эти файлы тогда должны быть не в главной папке сайта, для безопасности.
_________
А еще и сам хотел спросить?
Кто подскажет какой метод и когда лучше для подключения:
include('file.xxx'), require('file.xxx') или readfile('file.xxx') ?


foozzi пишет:
не описываются в поисковиках)

в поисковиках нечего не описывается, опысывается в сайтах которые они выдают
6. White - 19 Июля, 2011 - 21:11:00 - перейти к сообщению
alxfro
а где в вашем примере ооп?

Slavenin правильно говорит, для библиотек функций и классов наиболее правильно использовать require_once(). Это избавит от ошибок, так как код включаемого файла не будет выполняться а лишь переноситься в скрипт, и будет ли библиотека включена до или после использования описанных в ней функций не будет иметь значения.
7. alxfro - 19 Июля, 2011 - 21:19:02 - перейти к сообщению
White пишет:
alxfro
а где в вашем примере ооп?


а я ни слова ни говорил про ООП, заметь
я просто показал пример как хранить и вызывать функции, как и спросил автор
я разве что-то сказал про ООП? Не понял
8. White - 19 Июля, 2011 - 21:27:16 - перейти к сообщению
alxfro
обьекты и классы использованные в вашем примере являются составными частями ооп. тем не менее в данном примере они не несут абсолютно никакой смысловой нагрузки, а лишь:
1. Усложняют метод вызова функций
2. Усложняют код
3. Сужают возможность его использования до контекста существования объекта

PHP:
скопировать код в буфер обмена
  1.  
  2. function _1 ($input) {
  3.   echo 'trololo'.$input;
  4. }
  5.  
  6. function _2() {
  7.   function_1('trololo');
  8. }
  9.  
  10. function_2('trololo');
  11.  


более читаемый и масштабируемый код, при этом память не засоряется ненужными объектами

 

Powered by ExBB FM 1.0 RC1