Kami sedang mengerjakan aplikasi Laravel dengan modul penjadwalan. Modul ini memiliki tiga jenis kelas yang dapat dimasukkan ke dalam agenda: Tugas, Acara, dan Departemen. Oleh karena itu kami membuat diagram kelas berikut: Sekarang, pertanyaan kita: jika kita ingin merealisasikan diagram ini, haruskah kita menggunakan Trait atau memperluas model Plannable.
Model yang dapat direncanakan:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Plannable extends Model
{
// Code
}
Model tugas:
<?php
namespace App;
use App\Plannable;
class Task extends Plannable
{
// Code
}
Atau haruskah kita menggunakan ini sebagai sifat:
Sifat yang dapat direncanakan:
<?php
namespace App\Traits;
trait Plannable
{
// Code
}
Model tugas:
<?php
namespace App;
use App\Plannable;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
use Plannable;
// Code
}