Леонид Вакуленко Webasyst +4


Леонид Вакуленко

  • Леонид Вакуленко Леонид Вакуленко Webasyst 13 октября 2017 10:09 #

    Правильно и хорошо будет сделать плагином, как Михаил описал.

    Можно сделать очень грязный хак. Создать страницу в Магазине или Сайте с кодом {shopCustom::mymethod()}, а в методе сделать exit:

    class shopCustom {
        public static function mymethod() {
            echo json_encode(array(waRequest::param(), waRequest::get(), waRequest::post()));
            exit;
        }
    }

    Это выведет только JSON без внешней обвязки дизайна. Вроде сработает, но ёлки ж палки... Сами через полгода не разберётесь как ваш сайт работает))

    в ответ на Выполнение PHP-кода на страницах сайта

  • include('http://...') - это странно. Если я правильно понял, файл лежит на вашем же сервере. А если не на вашем, то в любом случае скачайте его и поместите у себя. Вместо подключения по сети подключайте локальный файл:

    include_once("getip-test/tabgeo_country_v4.php"); // путь относительно корня фреймворка, т.е. index.php

    (include_once чтобы ничего не сломалось, если файл вызывается больше одного раза)

    Вообще, дело двинулось бы гораздо быстрее, если бы вы смогли включить вывод ошибок PHP в браузер или найти файл с логами. Не надо было бы гадать на кофейной гуще, что пошло не так...

    в ответ на Выполнение PHP-кода на страницах сайта

  • return include wa('shop')->getAppPath('lib/file.php');

    подключит файл wa-apps/shop/lib/file.php

    в ответ на Выполнение PHP-кода на страницах сайта

  • wa-data - это правильное место для картинок и документов, но плохое место для исполняемых файлов. PHP-файлы в public можно вызвать напрямую из браузера, если знать URL - это опасно и это главная причина. В protected так не получится, и с этой точки зрения protected лучше, чем public. Но идеологически неправильно. Если нет специальных причин держать файлы именно там, лучше не держать.

    Хорошее место для вашего файла - это либо wa-config, либо wa-apps/shop/lib, рядом с вашим shopCustom.class.php

    Если в файле, например, массив с настройками, то ему самое место в wa-config. А если много сложной логики, то пусть в приложении живёт.

    в ответ на Выполнение PHP-кода на страницах сайта

  • include сработает, как и в любом другом месте в PHP-коде.

    Путь лучше склеить полный. Например, используя функцию
    wa()->getConfig()->getRootPath()
    которая вернёт путь к каталогу установки фреймворка (где index.php лежит). Без завершающего слеша.

    И обращаю ваше внимание, что это не очень мудрое решение хранить скрипты в wa-data, особенно в wa-data/public. Выглядит небезопасненько. Для чего это нужно?

    в ответ на Выполнение PHP-кода на страницах сайта