@gimade

Как узнать список методов?

В общем изучаю Laravel и тут я понял, что у меня в IDE (по нажатию ctrl+пробел) не отображается весь список методов класса. Так вот вопрос, как же мне узнать все методы класса, включая то, что он унаследовал от 100500 классов? Если бы не видео я бы вообще не скоро узнал, что такие методы есть, хе-хе.
К примеру вот не большой кусок кода:
ModelArticle наследуется от Model. (Фреймворк Laravel)
$articles = ModelArticle::latest()->get();
Так вот о методе latest() IDE ничего не знает! Шо же делать, как же быть? :)
  • Вопрос задан
  • 331 просмотр
Решения вопроса 3
JhaoDa
@JhaoDa
LaravelRUS Team
Надо установить ide-helper и наследовать модели от \Eloquent, а не от \Illuminate\Database\Eloquent\Model, тогда IDE будет видеть больше методов (но всё равно не все).
Ответ написан
Denormalization
@Denormalization
С этим всё сложно.
Там все на магии. Часть методов наследуется от Model, часть возвращает QueryBuilder, часть из трейтов, часть еще что-то.
Нужно читать https://laravel.com/docs/5.2 и https://laravel.com/api/5.2/ и конечно же просто открывать классы и смотреть их методы.
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Так вот о методе latest() IDE ничего не знает! Шо же делать, как же быть? :)

Не используйте статику и магию, тогда IDE будет все отлично находить)). Про ларавелевские фасады - тоже забудьте, это в принципе говноподход.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AmdY
@AmdY
PHP и прочие вебштучки
А вы не использйте фасады, а воспользуйтесь замечательным DI
public function fooAction(ModelArticle $modelArticles) {
return $modelArticles->latest();
}
Ну и latest не через дурацкие скоупы, а нормальным методом модели делать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы