Ой да ладно... Чет я этого не заметил. На форуме где по программированию, практически нет интересных тем. 99% от ленивых студентов которым завтра сдавать, при этом вопросы уровня "как вывести привет мир".
Здесь так же посмотрите на список популярных тем. Я конечно не СЕОшник, но что то кажется тоже "не совсем" про СЕО.
MrPi#: Для ДЕБАГА важно. Вам важно писать на php? Вот есть нативные вызовы, синтаксический сахар, конструкции. Это нативные. Это база. Вы пришли в школу и вас учат, что 2x2=4, а после, какой-то фреймворк решил, что 5. Какая разница, ведь выполняет?
Стоп. Здесь речь уже ведь про результат выполнения, а не то как это выглядит при вызове. В этом случае глядим в контракт фреймворка, видим что там с поправкой на ветер и проходим мимо.
$user->getName() - т.е. при таком вызове вы не обращаетесь к экземлпляру класса $user с публичным методом getName, а вызываете условно СТАТИЧНЫЙ метод abracadabra или не метод, а объект?
или всё же метод getName() где через QB получаете значение поля user из БД?
Ну там, если полностью и в одном месте (можно оперировать коллекциями, есть вариации, но для примера), то как то так:
Кстати, вспомнил где на практике эта магия мне как раз таки "зашла". Больше всего я работаю с Битрикс. Для того что бы создать свою таблицу наследуешься от DataManager, описываешь поля, потом консолькой создаешь файл аннотаций. все. Далее можно $user->setName(), $user->getName(). (вот whereName кстати нет :) ) мне нравится. подсветка есть все ок. Альтернатива?
1. использовать $user->get('name') (главное опечатку не допустить и помнить какие поля есть)
2. Наплодить геттеров. которые будут вызывать get и первого пункта
Представь, что в php ты присваиваешь переменной значение $name = 'Johny', а по факту создал класс John(). Или пишешь new Animals() , а по факту экранировал переменную - echo $name.
Или все равно не ясно?
Тут надо оценивать именно результат. Допустим $name= ' johny' создает класс. ок. мне важно что бы echo 'Hello',$name; выдало "Hello johny". а там, как это выглядит под капотом пофиг.
MrPi#: Вы видиммо не понимаете о чем я пишу? Магия не в том, что метод возвращает. Магия не в том, что ты не понимаешь. Магия в том, что смотря на вызов ты ожидаешь одно, а получаешь другое. Animals::dog('woof') - кажется в класс Animals есть статичный метод dog. Лезешь в класс, а там нет его. Есть колбэк и ты уже работаешь не с классом, а с объектом.
да но есть __call нативный метод языка. (сам если честно им не пользуюсь, наверно только раз как то применил - деталей не помню). Ведь все равно: что значит "ожидаешь"? я ожидаю результат выполнения команды, она выполняется.... как там она под капотом __call или 100500 геттеров важно ли?.
Миф. Профильные тематические форумы снимают сливки,
Ой да ладно... Чет я этого не заметил. На форуме где по программированию, практически нет интересных тем. 99% от ленивых студентов которым завтра сдавать, при этом вопросы уровня "как вывести привет мир".
Здесь так же посмотрите на список популярных тем. Я конечно не СЕОшник, но что то кажется тоже "не совсем" про СЕО.
Полную реализацию можно для примера? Откуда прилетело getName()?
А это как раз элемент магии. UserTable имеет описание для всех столбцов (по сути массив). Может быть посмотрю, что под капотом позднее.
Когда презентация?
Устали ждать ..
Вы пришли в школу и вас учат, что 2x2=4, а после, какой-то фреймворк решил, что 5. Какая разница, ведь выполняет?
Ну хоть php в этом плане не плюсы где можно плюс и минус переопределить :)
Для ДЕБАГА важно. Вам важно писать на php? Вот есть нативные вызовы, синтаксический сахар, конструкции. Это нативные. Это база. Вы пришли в школу и вас учат, что 2x2=4, а после, какой-то фреймворк решил, что 5. Какая разница, ведь выполняет?
$user->getName() - т.е. при таком вызове вы не обращаетесь к экземлпляру класса $user с публичным методом getName, а вызываете условно СТАТИЧНЫЙ метод abracadabra или не метод, а объект?
или всё же метод getName() где через QB получаете значение поля user из БД?
Ну там, если полностью и в одном месте (можно оперировать коллекциями, есть вариации, но для примера), то как то так:
Кстати, вспомнил где на практике эта магия мне как раз таки "зашла". Больше всего я работаю с Битрикс. Для того что бы создать свою таблицу наследуешься от DataManager, описываешь поля, потом консолькой создаешь файл аннотаций. все. Далее можно $user->setName(), $user->getName(). (вот whereName кстати нет :) ) мне нравится. подсветка есть все ок. Альтернатива?
1. использовать $user->get('name') (главное опечатку не допустить и помнить какие поля есть)
2. Наплодить геттеров. которые будут вызывать get и первого пункта
.... тоже с сетерами
Представь, что в php ты присваиваешь переменной значение $name = 'Johny', а по факту создал класс John(). Или пишешь new Animals() , а по факту экранировал переменную - echo $name.
Или все равно не ясно?
Вы видиммо не понимаете о чем я пишу? Магия не в том, что метод возвращает. Магия не в том, что ты не понимаешь. Магия в том, что смотря на вызов ты ожидаешь одно, а получаешь другое. Animals::dog('woof') - кажется в класс Animals есть статичный метод dog. Лезешь в класс, а там нет его. Есть колбэк и ты уже работаешь не с классом, а с объектом.
Ну магия же. несколько строк и у нас полноценный браузер (ну тут источник url только не задан). Разве не магия?