для того чтобы не тянуть кучу всего, а только то что надо используется какой-нибудь requirejs, который подтягивает только нужные скрипты для страницы.
<?php
// Пример класса
class MyClass
{
public function test(Hell $hell) {
echo $hell->var;
}
}
// Другой пример класса
class Hell {
public $var = 'Hello World';
}
// Экземпляр каждго класса
$myclass = new MyClass;
$hell = new Hell;
/*
// Fatal Error: Первый аргумент должен быть объектом класса Hell
$myclass->test('hello');
// Fatal Error: Первый аргумент должен быть экземпляром Hell
$foo = new stdClass;
$myclass->test($foo);
// Fatal Error: Первый аргумент не должен быть null
$myclass->test(null);
*/
// Работает: выводит "Hello World"
$myclass->test($hell);
?>