$user->getName() - т.е. при таком вызове вы не обращаетесь к экземлпляру класса $user с публичным методом getName, а вызываете условно СТАТИЧНЫЙ метод abracadabra или не метод, а объект?
или всё же метод getName() где через QB получаете значение поля user из БД?
Ну там, если полностью и в одном месте (можно оперировать коллекциями, есть вариации, но для примера), то как то так:
$user = UserTable::query() ->addSelect('name') ->addSelect('id') ->where('lastname','Petrov') ->fetchObject();echo $user?->getName();
Кстати, вспомнил где на практике эта магия мне как раз таки "зашла". Больше всего я работаю с Битрикс. Для того что бы создать свою таблицу наследуешься от DataManager, описываешь поля, потом консолькой создаешь файл аннотаций. все. Далее можно $user->setName(), $user->getName(). (вот whereName кстати нет :) ) мне нравится. подсветка есть все ок. Альтернатива?
1. использовать $user->get('name') (главное опечатку не допустить и помнить какие поля есть)
2. Наплодить геттеров. которые будут вызывать get и первого пункта
.... тоже с сетерами
Представь, что в php ты присваиваешь переменной значение $name = 'Johny', а по факту создал класс John(). Или пишешь new Animals() , а по факту экранировал переменную - echo $name.
Или все равно не ясно?
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); connect(ui->webView, &QWebView::linkClicked, this, &MainWindow::slotLinkClicked);}void MainWindow::slotLinkClicked(QUrl url){ ui->lineEdit->setText(url.toString()); ui->webView->load(url);}
Ну магия же. несколько строк и у нас полноценный браузер (ну тут источник url только не задан). Разве не магия?
Мне в ларе фасады не нравятся. Я ими не пользуюсь :) Это с одной стороны. А с другой: какая разница? Мы этому методу доверяем. Где та грань где кончается магия и начинаются "синтаксис" и "встроенные"?
Вы пользуетесь какими либо расширениями на php? Или пишите на других языках и используете ли там закрытые либы? Если да, то вас не смущает, что вы даже не знаете, что там под капотом?
В общем для поговорить -ну в принципе вопрос для холивара (потому что полезно это или нет - вкусовщина), а если "не шашечки, а ехать", то мы либо берем инструмент, либо единственный выход - писать свои велосипеды.
Ну я ж не зря упомянул, для примера, boost, Qt... Любой фреймворк, любая библиотека что то "скрывает", по сути в этом его задача и есть. А там уж дело каждого, один называет это "магический метод [имя_инструмента]", другой "синтаксис [имя_инструмента]"
Разве нет?