Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
i_want_to_know_everything
@i_want_to_know_everything
PHP
Регулярные выражения
Как из файла вытащить код функции?
как из файла library.php вытащить в строку исходный код и описание функции foo() сохранив форматирование.
Вопрос задан
более трёх лет назад
317 просмотров
Комментировать
Подписаться
1
Оценить
Комментировать
Facebook
Вконтакте
Twitter
Решения вопроса
1
DevMan
@DevMan
бредовая затея - для этого есть tokenizer/reflection.
но если очень хочется, то
SO
в помощь.
Ответ написан
более трёх лет назад
7
комментариев
Нравится
3
7
комментариев
Facebook
Вконтакте
Twitter
i_want_to_know_everything
@i_want_to_know_everything
Автор вопроса
c вытащить функцию разобрался
require_once 'config.php';
$func = new ReflectionFunction('foo');
$filename = $func->getFileName();
$start_line = $func->getStartLine() - 1;
$end_line = $func->getEndLine();
$length = $end_line - $start_line;
$source = file($filename);
$body = implode("", array_slice($source, $start_line, $length));
echo '';
echo htmlspecialchars($body);
echo '';
Осталось понять как достать описание
Написано
более трёх лет назад
i_want_to_know_everything
@i_want_to_know_everything
Автор вопроса
DevMan
: а затея нужная, раз в три дня файл библиотека меняется, надо печатать на экран свежие функции, а документатор из за одного файла разворачивать имхо лишнее
Написано
более трёх лет назад
DevMan
@DevMan
i_want_to_know_everything
: затея - норм. использование для нее регэкспов - не норм.
для этого как раз созданы токенайзер и рефлексия.
Написано
более трёх лет назад
i_want_to_know_everything
@i_want_to_know_everything
Автор вопроса
DevMan
: ну это то я понял, вот только не могу найти метод в ReflectionFunction который описание функции тащщит
Написано
более трёх лет назад
DevMan
@DevMan
i_want_to_know_everything
: a в чем сложность?
ideone.com/FXagyq
Написано
более трёх лет назад
i_want_to_know_everything
@i_want_to_know_everything
Автор вопроса
DevMan
: Вот сейчас вижу что нет ничего сложного)) не увидел я этого метода, я PHP 1.5 месяца как начал, так что прошу прощения за глупые вопросы
Написано
более трёх лет назад
DevMan
@DevMan
i_want_to_know_everything
: бывает))
метод getDocComment() описан не в ReflectionFunction, а в его родителе ReflectionFunctionAbstract
успехов!
Написано
более трёх лет назад
Пригласить эксперта
Ответы на вопрос
0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
PHP
+1 ещё
Средний
Filament и мультиязычность кто подружил?
1 подписчик
2 часа назад
24 просмотра
1
ответ
PHP
Простой
Почему PHP считает int числа после математических операций как float?
1 подписчик
3 часа назад
52 просмотра
4
ответа
JavaScript
+2 ещё
Простой
Скрипт замены языковой раскладки и скрипт автозаполнение для одного input'а работает некорректно, как поправить?
2 подписчика
вчера
582 просмотра
0
ответов
PHP
Простой
Как сделать правильно скорректировать запрос в RedBeanPHP?
1 подписчик
28 апр.
99 просмотров
1
ответ
Регулярные выражения
Простой
Как захватить элементы по отдельности?
2 подписчика
25 апр.
226 просмотров
2
ответа
PHP
Простой
Как добавить русский текст в fpdf?
1 подписчик
24 апр.
190 просмотров
2
ответа
PHP
+1 ещё
Простой
Где хранить ключи api используемые для тестирования открытого по?
1 подписчик
23 апр.
317 просмотров
2
ответа
PHP
+1 ещё
Средний
Как удалить весь текст кроме ссылок?
1 подписчик
20 апр.
198 просмотров
3
ответа
JavaScript
+2 ещё
Средний
Почему не получается обратиться к наследуемому свойству (php) через асинхронный запрос?
2 подписчика
19 апр.
1300 просмотров
1
ответ
PHP
+1 ещё
Простой
Как добавить данные в бд с помощью php sqlsrv?
1 подписчик
18 апр.
169 просмотров
2
ответа
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
Middle PHP-developer / PHP-разработчик
Wanted.
До 250 000 ₽
PHP-разработчик
YCLIENTS
•
Москва
от 250 000 до 350 000 ₽
PHP разработчик
Utouch
от 150 000 до 200 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама