обратив внимание на первое, ты упустил
"вегнер замечает, что такой способ контроля существенен для программирования в "большом""
продолжу оттуда же
"деля расстояние на время мы ожидаем получить скорость, а не вес. в множении температуры на силу, смысла нет... все это примеры сильной типизации, когда прикладная область накладывает правила и ограничения на использование и сочетание абстракций"... конкретный язык программирования может иметь сильный или слабый механизм типизации, и даже не иметь вообще никакого, оставясь объектно-ориентированным."
кроме прочего типизация (наряду с сохраняемостью и параллелизмом) является дополнительным элементом оо-стиля.
и наконец-то пхп и без типизации, если объект не понимает сообщения сгененирует ошибку

разницы - никакой.
применительно к ооп нас скорее должны абстрактные типы, а не примитивные. поскольку пхп сам занимается приведением,объявление типов аргументов бессмысленно и абсурдно. суммируя: в пхп маловероятно программирование "в большом", совсем уж маловероятна проверка примитивных типов, и если вдруг по нелепой случайности понадобится вообще то да, у нас есть is_a() и is_array() и is_numeric().
следовательно, предлагаю в качестве установления истины следующее:
а) отказаться от слов о пхп как объектном языке
б) согласится, что признаком ооп является абстрагирование, иерархия, инкапсуляция, а типизацию можно рассматривать как "идеи ооп" (приравнять к, скажем, отсутвию множественному наследования, например, в java)
в) признать существование типизации (ключевое слово "возможность") абстрактной типизации в пхп
г) признать пхп - оояп
и истина родится
