В общем изучаю Laravel и тут я понял, что у меня в IDE (по нажатию ctrl+пробел) не отображается весь список методов класса. Так вот вопрос, как же мне узнать все методы класса, включая то, что он унаследовал от 100500 классов? Если бы не видео я бы вообще не скоро узнал, что такие методы есть, хе-хе.
К примеру вот не большой кусок кода:
ModelArticle наследуется от Model. (Фреймворк Laravel) $articles = ModelArticle::latest()->get();
Так вот о методе latest() IDE ничего не знает! Шо же делать, как же быть? :)
Надо установить ide-helper и наследовать модели от \Eloquent, а не от \Illuminate\Database\Eloquent\Model, тогда IDE будет видеть больше методов (но всё равно не все).
С этим всё сложно.
Там все на магии. Часть методов наследуется от Model, часть возвращает QueryBuilder, часть из трейтов, часть еще что-то.
Нужно читать https://laravel.com/docs/5.2 и https://laravel.com/api/5.2/ и конечно же просто открывать классы и смотреть их методы.
Из-за обилия магии в ларавеле вы еще хлебнете горя при дебаге. Если есть возможность - лучше откажитесь от этого фреймворка в пользу Symfony. Так же рекомендую почитать: Попросили проверить код, на что смотреть нужно? там про ларку больше
После прочитанной книги и базового курса по ООП я думал, что я знаю ООП. Обилие магии действительно заставит запутаться любого новичка. Даже и не знаю, отказываться от этого, или наоборот своего рода путешествие в мир магии устроить))
А вы не использйте фасады, а воспользуйтесь замечательным DI
public function fooAction(ModelArticle $modelArticles) {
return $modelArticles->latest();
}
Ну и latest не через дурацкие скоупы, а нормальным методом модели делать.