Описание новых АПИ функций не сразу появляется в документации. Есть объективные причины, почему это именно так, мне не хочется сейчас лишний раз перетирать вопрос снова. Между тем, сам не испытываю на этот счёт никаких проблем: при наличии исходников можно всегда посмотреть код. Правда, надо знать, где смотреть и что искать. Мне пришла идея написать скрипт, который будет сканировать текущие файлы ядра и выводить список доступных АПИ функций и событий всех модулей. Это значит, что любые доступные модули, написанные по идеологии Битрикс, можно будет "просмотреть".
[spoiler]
Не стал делать сканирование всех файлов модуля, т.к. АПИ содержится в классах. Кроме того, могут быть определены локальные функции, используемые, например, внутри компонента, только там и доступные. Так и работает быстрее. Выбираем модуль, тут же происходит сканирование и выводится список событий модуля и методов.
По списку аргументов можно легко догадаться, что они означают. Например, метод CCurrency::GetList имеет два обязательных параметра: поле сортировки и порядок сортировки. Оба передаются по ссылке. Третий параметр язык, по умолчанию принимает значение текущего языка.
По клику на функцию открывается её описание в новом окне. Код функции читается прямо из файла, при этом уже скрипты не парсятся, вся необходимая информация передаётся в URL.
По клику на событие открывается метод, где оно инициируется. Вызов события подсвечивается.
Скрипт можно скачать с сайта.
Обновление от 31.02.2012 Сейчас решение доступно через marketplace
Проблема отсутствия документации наверно больше в том, что раз метод не описан, то вы можете менять логику его работы, и что плохо, иногда именно так и поступаете. Но я не отговариваю от использования недокументированных методов. В общем, спасибо за скрипт!
Денис, что скажите про PhpDoc? Все современные фреймворки по полной документируются в данном стандарте.
Я сам последние полгода использую PhpDoc. А в сочитании с Eclipse можно вообще забыть про оналайн апи и т.п. ctrl + space и готово. Только это пока не про битрикс, увы
что раз метод не описан, вы можете менять логику его работы
В теории это так, на практике мы сами не заинтересованы менять логику. Если метод используется во многих местах, вероятнее всего он меняться не будет, даже если не описан.
Доделал скрипт, доступен по прежней ссылке. Теперь
все модули сканируются последовательно один раз, после этого рядом с live_api.php появляется файл live_api.data.php, который содержит данные о функциях;
можно выбрать не только модуль, но и интересующий класс;
в исходном коде функции и методы битрикса ведут на их исходный код.
Выявился баг: сканировались не все функции главного модуля, пофиксил.
За одно сделал две фишки: - проверяется дата обновлений, если они свежее даты последнего сканирования, предлагается выполнить сканирование вновь; - поиск по именам методов и классов.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».