Size: a a a

2021 June 28

А

Антон in Laravel Pro
Ну если брать нормальное наследование, то там есть абстрактные и финальные методы, так что расширения как такового не будет, каждый наследник напишет свою реализацию, а за счет расширения типа можно использовать разные наследники с однозначным интерфейсом. Так что в общем случае интерфейс от класса в этом случае отличаться не будет.
источник

М

Максим in Laravel Pro
+ 1
источник

ДК

Дмитрий Кожанов... in Laravel Pro
Если взять трушное множественное наследование из C++ или Java то оно нахрен не нужно, т.к. вызывает дофига проблем
источник

А

Антон in Laravel Pro
Ну раз оно не нужно, то не трушное. Вот трушное


abstract class A
{
   abstract protected function doA(): string;
   final public function a(): string
   {
        ....
        return $this->doA();
   }
}

abstract class B
{
   abstract protected function doB(): string;
   final public function b(): string
   {
        ....
        return $this->doB();
   }
}

final class C extends A, B
{
    protected function doA(): string
    {
         return 'A';
    }

    protected function doB(): string
    {
         return 'B';
    }
}

echoA(A $a): void
{
   $a->a();
}

echoB(B $b): void
{
   $b->b();
}

echoA(new C());
echoB(new C());


Хорошее наследование. Никакой боли на старте и в перспективе. А еще типы ложатся.
источник

М

Максим in Laravel Pro
В общем случае говоря о наследовании вы должны говорить о расширении типа и не расширении функциональности (это просто из за лени - что бы не копипастить), а на практике чаще всего нарушается L(soLid) принцип. В случае же интерфейса вы получаете и используете нормальный полиморфизм, а вместе с декоратором, вам наследование от класса максимум в абстрактном виде понадобиться для возможно чуть большей инкапсуляции
источник

DO

Dmitrii Olari in Laravel Pro
Добрый день! Подскажите, пожалуйста, как прописать динамически id в форме в blade при удалении записи из БД, не используя route?
источник

A

Arman in Laravel Pro
чем route не устроил? какую задачу решаешь?
источник

DO

Dmitrii Olari in Laravel Pro
Переслано от Dmitrii Olari
У меня есть страница отзывов. В ней я реализовал добавление отзывов в БД. А потом я возвращаю их ниже. И я хочу удалить именно текущий отзыв, используя его id.
источник

y

yu2ry in Laravel Pro
иногда лень писать многим и S
источник

DO

Dmitrii Olari in Laravel Pro
Попытался использовать роуты, как в скрине выше. Но не выходит, выдает ошибку, что такой переменной нет
источник

М

Максим in Laravel Pro
Найдите онлайн урок от Гоши Дудяря на Youtube он реализует тоже, что вы делаете на Laravel
источник

М

Максим in Laravel Pro
видимо у вас шаблон просто не видит переменной, ибо вы ее не передали в шаблон из контроллера
источник

DO

Dmitrii Olari in Laravel Pro
Я его пример расширяю, но он там не реализовывал на laravel 8
источник

М

Максим in Laravel Pro
Сейчас открою исходники и гляну что там к чему
источник

М

Максим in Laravel Pro
источник

М

Максим in Laravel Pro
источник

М

Максим in Laravel Pro
источник

DO

Dmitrii Olari in Laravel Pro
Ок, сейчас посмотрю
источник

М

Максим in Laravel Pro
из контроллера в шаблон нужно прокинуть объект модели или просто id'шник
источник

М

Максим in Laravel Pro
return redirect()->route("review-one", $id)->with('success', 'Ваш отзыв успешно обновлен');

return view('review-one', ['review' => $review->find($id)]);
источник