Пост по следам сегодняшнего поста про D7. В комментариях с Олегом вышел спор, где он доказывал надуманность нового подхода. Отчасти он прав. Вот простой ответ почему лучше приучать себя к новому стилю:
//наш правильный док.рут
echo $_SERVER["DOCUMENT_ROOT"];
//тут вставляем компонент новичка, который делает вот что (например, из-за ошибки новичка):
$_SERVER["DOCUMENT_ROOT"] = '/newpath';
//и вы к нему ниже радостно обращаетесь:
echo '<br/>';
echo $_SERVER["DOCUMENT_ROOT"];
//а наш "монстро-код" по-прежнему обработал нормально:
$context = \Bitrix\Main\Application::getInstance()->getContext();
$server = $context->getServer();
echo '<br/>';
echo $server->getDocumentRoot();
P.S.S. Хотя если смотреть в сторону стилистики или подхода. Ну так этим уже далеко не один продукт занимается. Не только Битрикс. Да. работать с ООП и с переопределением свойств и прочего прочего прочего иногда действительно надежнее, чем просто баловаться переменными
Алексей, клиенту по сути пофик, но все же ему будет приятно, если вы будете делать проект по новой технологии, и напишите об этом в своих услугах. Понятно, что до этого надо добиться от вендора базовых вещей. Тот же APPLICATION и USER довести до ума.
На самом деле вендор не забил на D7, прошлым летом у них был реальный головняк как и куда присобачить валидаторы. Чтобы вы могли снабдить своей логикой входные данные и это корректно бы сразу отображалось в форме. (утрировано, но суть такая) Так что там дел хватает даже без видимых проблем.
Уже не раз встречал подобные обсуждения, вставлю свои пять копеек.
ООПшный подход, кроме прочего, даёт гарантию того, что вы будете правильно работать с данными. Вы просто говорите классу, что ему нужно сделать, а вся магия происходит под капотом. Во-первых, вы не забудете произвести важные операции (если они нужны, скорее всего, они уже будут записаны в классе), во-вторых у вас будет поддержка обновлений. Появилась необходимость производить доп. операции при записи какой-либо переменной — правим только метод set() класса.
Минутка добра. Документации в онлайне с примерами по новому ядру нет, но это не мешает работать с ним. Код Д7 довольно неплохо задокументирован и классы и методы имеют логичные, понятные названия. Когда мне нужно произвести какие-то операции, я просто начинаю писать название сущности и ИДЕ показывает мне исходники Д7: по именам легко ориентироваться, плюс пхпДок рассказывает подробности. Не бойтесь использовать Д7.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».