Nie wiem jak u Was, w innych miejscowościach ale u mnie strasznie parno i pochmurnie zajkby za dosłownie chwilkę miał lunąć deszcz

Siedziałem dzisiaj na labolatorium programowania wizualnego, zastanawiając się jak rozwiązać pewien problem, a do głowy wpadło mi coś zupełnie innego. Z początku uznałem to za bzdurę i poronioną ideę, jednak coraz bardziej się do niej przekonuję - mimo iż nadal uważam ją za nieco bezsensowną. Popędziłem czym prędzej do domu aby sie nią z Wami podzielić. Mam nadzieję, że zainteresuję Was mój pomysł i wesprzecie moją ideę (propozycje zmian, uwagi techniczne), albo wybijecie z głowy

Jak wiemy w PHP nie ma mechanizmu, który pozwoliłby nam na sztywne trzymanie się danego typu danych (np integer). Mój pomysł może to zmienić. Według tego co wymyśliłem, każda zmienna była by obiektem

<?php $calkowity = new typy(INT); ?>
albo np:
<?php $calkowity = typy::integer(); ?>
Ale co dalej?
Klasa typy dostarczała by szereg metod, które umożliwiałyby odczytywanie i modyfikowanie wartości, przy czym mogłaby generować wyjątki w momencie gdy np do zmiennej typu int będziemy chcieli zapisać łańcuch znaków.
<?php $calkowity->value(10); $calkowity->add(5); $calkowity->getValue(); // zwraca 15 ?>
Dodatkowo planowałem dodać metody konwertujące:
<?php $calkowity->toString(); // zwraca "15" (string) ?>
<?php $string = typy::string(); $string = $calkowity->toString(); ?>
Ale hola, hola... Tzn, że trzeba używać metody getValue, aby wypisać stringa na ekranie? Nie! Może nawet taka metoda nie będzie potrzebna, gdyż:
<?php public function __toString() { return $this->value; } ?>
Prawdopodobnie dałoby się tak samo z integerami i innymi typami danych... Do tego dochodziło by także sprawdzanie typów (+ wyjątki) oraz szereg innych metod, jak np getType() - zwracająca typ zmiennej.
Nie wiem natomiast co z tablicami i obiektami - nie zdążyłem jeszcze nad tym pomyśleć

'mixed'.
Bardzo zależy mi na Waszej opinii, szczególnie tych bardziej doświadczonych osób i już teraz bardzo dziękuję za wszelkie komentarze.