@m100 teşekkür ederim cevabın için fakat bahsettiğim tam olarak bu değil :(
Tekrar bir örnek ile anlatmak istiyorum.
class User
{
public string $name = "";
public string $lastname = "";
public int $rank = "";
public array $permission = [];
}
Bu şekilde modelimin içerisinde kullanacağım tanımları ekliyorum.
Ardından;
class User
{
public function attiributes(): array
{
return ["firstname", "lastname", "rank", "permission"]
}
}
buradada modelimdeki attiribuitleri (bunlar veritabanımdaki name'ler) ekliyorum.
Şimdi hem yukarıda tanımladım, hem aşağıda attiributes içinde.
Tabiki, üşengeçlik demeden bunu otomatize etmeye çalışıyorum. Yani attiributes içerisinde öyle birşey yapayımki;
dizideki elemanları kendi tanımlansın.
Mesela;
class User
{
public function attiributes(): array
{
return [
"firstname" => "public string"
"lastname" => "public string"
"rank" => "public int"
"permission" => "public array"
]
}
}
Umarım anlatabilmişimdir :)
Şimdi neden diyecek olursanız; Ben bu attiributes'i sadece bunun için kullanmıyorum. Dizi çıktısında hem label, hem kural, hemde diğer istediğim tanımları ekliyorum. Bu sayede tek bir fonksiyon içerisinden hem kendisine hemde extend olduğu sınıflara dağıtıp kullanabiliyorum.