Size: a a a

Laravel для начинающих

2020 January 10

С

Санжар in Laravel для начинающих
Руслан
Странно, почему-то многие считают что репозиторий для быстрой смены бд. Что за дичь?
Ну не совсем БД.
В моем понимании — это если вдруг резко источник данных будет не БД, а например парсинг и через JSONы, и тут просто делаешь JsonNewsRepository.

А как вы думаете?
источник

AP

Alexander Pavlenko 🌚 in Laravel для начинающих
Санжар
Ну не совсем БД.
В моем понимании — это если вдруг резко источник данных будет не БД, а например парсинг и через JSONы, и тут просто делаешь JsonNewsRepository.

А как вы думаете?
не
источник

Р

Руслан in Laravel для начинающих
Санжар
Ну не совсем БД.
В моем понимании — это если вдруг резко источник данных будет не БД, а например парсинг и через JSONы, и тут просто делаешь JsonNewsRepository.

А как вы думаете?
В классическом понимании репозиторий - хранилище, часто в виде коллекции
источник

С

Санжар in Laravel для начинающих
мы сейчас про паттерн репозиторий?
источник

Р

Руслан in Laravel для начинающих
Все, ни о какой бд речи ен идет
источник

Р

Руслан in Laravel для начинающих
Санжар
мы сейчас про паттерн репозиторий?
А в ларавель какие-то свои репозитории?
источник

AP

Alexander Pavlenko 🌚 in Laravel для начинающих
репозиторий не взаимодействует с источником данных напрямую
источник

AP

Alexander Pavlenko 🌚 in Laravel для начинающих
как выше писали, просто хранилище
источник

С

Санжар in Laravel для начинающих
Руслан
В классическом понимании репозиторий - хранилище, часто в виде коллекции
Вот как. Видимо я неправильно понял. Пойду погуглю-почитаю
источник

С

Санжар in Laravel для начинающих
Alexander Pavlenko 🌚
репозиторий не взаимодействует с источником данных напрямую
Я как обычно делал если юзал в ваккуме репозиторий (для реальных задач пока не понадобился):

ArticleRepository.php
interface ArticleRepository {
    public function get(int $count): Collection;

    public function save(Article $article): Article;

    public function delete(Article $article): bool;
}
EloquentArticleRepository.php
class EloquentArticleRepository implements ArticleRepository{
    private $article;

public function __construct(Article $article){
    $this->article = $article;
}

public function get(int $count): Collection {
    return ($this->article::take($count)->get();
}
источник

С

Санжар in Laravel для начинающих
Санжар
Я как обычно делал если юзал в ваккуме репозиторий (для реальных задач пока не понадобился):

ArticleRepository.php
interface ArticleRepository {
    public function get(int $count): Collection;

    public function save(Article $article): Article;

    public function delete(Article $article): bool;
}
EloquentArticleRepository.php
class EloquentArticleRepository implements ArticleRepository{
    private $article;

public function __construct(Article $article){
    $this->article = $article;
}

public function get(int $count): Collection {
    return ($this->article::take($count)->get();
}
И тут вместо EloquentArticleRepository может быть что угодно, главное чтобы implements ArticleRepository
источник

Р

Руслан in Laravel для начинающих
А зачем тут это слово? Eloquent
источник

С

Санжар in Laravel для начинающих
Руслан
А зачем тут это слово? Eloquent
В теории (на самом деле вряд ли) я могу ORM для БД поменять
Ну там доктрину заюзать например
источник

Р

Руслан in Laravel для начинающих
Санжар
В теории (на самом деле вряд ли) я могу ORM для БД поменять
Ну там доктрину заюзать например
И у тебя поменяется репозиторий? 😂
источник

С

Санжар in Laravel для начинающих
Руслан
И у тебя поменяется репозиторий? 😂
Нет, я просто сделаю DoctrineArticleRepository implements ArticleRepository
Интерфейс репозитория останется прежним.
Я этот паттерн примерно так  понял.
источник

AP

Alexander Pavlenko 🌚 in Laravel для начинающих
Санжар
В теории (на самом деле вряд ли) я могу ORM для БД поменять
Ну там доктрину заюзать например
не сможешь
источник

Р

Руслан in Laravel для начинающих
Санжар
Нет, я просто сделаю DoctrineArticleRepository implements ArticleRepository
Интерфейс репозитория останется прежним.
Я этот паттерн примерно так  понял.
Зачем тебе 2 репозитория тогда?
источник

VY

Vladimir Yefremov in Laravel для начинающих
Руслан
Кто мешает самому дома шлифовать?)))
без ментора в любом случае сложно....
этот чат иногда выполняет роль ментора - и это хорошо помогает
источник

С

Санжар in Laravel для начинающих
Руслан
Зачем тебе 2 репозитория тогда?
Ну допустим источники данных разные могут быть.

Я вывожу статьи и из БД, и парсю их откуда-то и возвращаю через JSON, иногда может даже через .txt читаю.
источник

С

Санжар in Laravel для начинающих
Vladimir Yefremov
без ментора в любом случае сложно....
этот чат иногда выполняет роль ментора - и это хорошо помогает
Вот да, конкретно щас я пытаюсь понять правильно ли я понял репозиторий паттерн.
источник