Поддержка Проблемы и решения Обращение к функции в другом файле?

  • Если функция описана в файле
    wp-content/plugins/my_plugin/file1.php
    как к ней обратиться из файла
    wp-content/plugins/my_plugin/file2.php

    Где что и как нужно прописать?
    Или может как то делается что функции ищутся во всех файлах папки /my_plugin/ ?
    Спасибо

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Yuri

    (@yube)

    Либо в file2.php инклюдить file1.php, либо они оба должны быть подключены в основном файле скрипте плагина (прямо или косвенно).

    Матчасть http://php.net/manual/ru/function.include.php

    Часто функции, используемые в разных ветках алгоритма, складывают в отдельный файл.

    функции ищутся во всех файлах папки

    Автолоад существует только для классов.

    Я, конечно, извиняюсь, но перед тем, как что-то писать, надо хоть немного знать язык, на котором пишешь.

    Автор selftrips-ru

    (@selftrips-ru)

    Юрий, большое спасибо за ответы. Но я уже объяснял — я не проф программист, просто что-то пытаюсь делать для себя, и изучать начинаю новое тогда когда сталкиваюсь с этим.
    Хотя да, то что уже знаю не мешало бы привести в какую-то систему, в частности добавить понимание как тот или иной способ потребляет ресурсы.
    Может посоветуете какие-нибудь онлайн курсы по php? (да и водпрессу если есть).
    Спасибо
    ps
    с классами мне пока вообще не понятно
    1.Зачем это программерам (какие преимущества дает)
    2. Зачем это «php»? Какой получается выигрыш?

    • Ответ изменён 5 лет, 1 месяц назад пользователем selftrips-ru.
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Зачем это программерам (какие преимущества дает)

    Думаю, стоит начать с основ ООП.

    Автор selftrips-ru

    (@selftrips-ru)

    А в чем смысл конструкции $this -> ?
    Вроде если использовать прямое название «текущего объекта» это, как видится мне, на мой не профессиональный взгляд, повысило бы «читабельность кода» ?

    Модератор Yuri

    (@yube)

    прямое название «текущего объекта»

    Последуйте совету Сергея. Когда начнете отличать класс от объекта, тогда вопрос отпадет сам собой.

    Хэштег «я не хирург, я просто пытаюсь вырезать себе аппендцит» 🙂

    Автор selftrips-ru

    (@selftrips-ru)

    Все таки возвращусь к исходному вопросу.
    Везде написано как сделать плагин из одного файла, и что можно из нескольких, но не написано как. (не нашел)
    Как я понял плагины (основной файл) wordpress как то сам прицепляет, а вот с остальными не понятно что делать
    Итак есть директория
    wp-content/plugins/my_plugin
    в ней файл
    my_plugin.php
    с содержанием

    <?php
    /*
     * Plugin Name: my_plugin
     */
    add_shortcode('my test', 'my_function');
    ?>

    2й файл
    file2.php
    с содержанием

    <?php
    my_function(){
    echo 'Все работает';
    }
    ?>

    Что куда надо еще прописать чтобы получить вывод

    Все работает

    • Ответ изменён 5 лет, 1 месяц назад пользователем selftrips-ru.
    • Ответ изменён 5 лет, 1 месяц назад пользователем selftrips-ru.
    Модератор Yuri

    (@yube)

    А открыть какой-нибудь плагин и посмотреть, как делают другие, слабо? Скажем, тот же cyr-to-lat.

    
    define( 'CYR_TO_LAT_PATH', dirname( __FILE__ ) );
    require_once CYR_TO_LAT_PATH . '/vendor/autoload.php';
    

    то есть, в my_plugin.php написать

    
    require_once dirname( __FILE__ ) . '/file2.php';
    

    разумеется, до вызова функции.

    За сим ликбез-оффтоп заканчиваю.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Обращение к функции в другом файле?» закрыта для новых ответов.