export function test (b, c) {
const a = b !== c ? b : c
return a
}
(при достаточно строго настроенном eslint) и ничего не самозаменилось.
именно по этому я хочу узнать, в чем дело. Можно, например, в папке с проектом запустить eslint и посмотреть его вывод относительно этого места или показать ошибку в редакторе. Например vs code подсвечивает название правила и дает краткое описание:
Алексей Дубровин, и всё-таки. мне вот стало каким правилом это регламентируется? почему у меня не меняет? пусть автор в ide посмотрит, что в ide подчеркивается и нам (ну, или мне) напишет, что за правило. ну или из командной строки запустит линтер и напишет
а что мешает сделать svg на фоне? а учитывая, что фон можно делать многослойным с индивидуальным позиционированием - так это всё еще и резиновым можно сделать
sometimes you may not have control over the __toString method of a given class
"у вас может не быть контроля над методом __toString"
+ тут не будет "сильного зацепления между классами", так как нет нескольких классов, нечему зацепляться.
Станислав, так там прямым текстом написано - если не можете использовать __toString, так как класс в сторонней библиотеке (и от него не отнаследоваться по какой-то причине)
Станислав, ну вот прямо в таком виде как в вопросе и будет работать __toString() и будет он вызываться именно для того класса. Внутри можно вызвать свой render своих шаблонов, можно просто возвращать строку. В чем вопрос и откуда тут "регистрация" - я не понял. Если имеется ввиду автоопределение классов, то выше я написал про биндинг и сервис провайдеры. Если автоопределения классов нет и экземпляр создается где-то в коде напрямую - то всё будет и так работать.
Станислав, тут надо выдохнуть и вернуться к изучению архитектуры. Более подробно рассказать, чего же хочется добиться - у laravel есть куча всего. Наверное надо начать с сервис провайдеров, байндинга и прочего. Потому что прибивание имени класса как в шаблоне - это тоже самое "сильное зацепление".
Станислав, где в вопросе про 5.3 (который по современным темпам разработки - уже достаточно древний и это является существенным нюансом)?
Ну а если совсем как в вопросе хочется, то есть магический метод https://www.php.net/manual/ru/language.oop5.magic.... правда чем это лучше, чем знать имя компонента - не понятно. Ну и вопрос передачи данных из шаблона в "класс-генератор" остается открытым. придется тогда дергать конкретную функцию и передавать в неё параметры, что также убивает всю прелесть (относительно subview, в которые переменные передадутся автоматом). Логику, если она есть (хоть это и говнокод), можно прям в subview реализовать https://laravel.com/docs/5.3/blade#php
DonTraffic, ну да, можно поставить какой-то скрипт. можно сломать имеющийся js как-нибудь, что вся интерактивность пропадет. можно подвесить браузер пользователя.