function foo (global, factory) {
if (typeof exports === 'object' && typeof module !== 'undefined') {
module.exports = factory();
return;
}
if (typeof define === 'function' && define.amd) {
define(factory);
return;
}
global.Vue = factory();
}
foo(this, finction() { ... });
class ResponseObject
{
public static function parse(object $data): ResponseObject1|ResponseObject2|ResponseObject3|ResponseObject4
{
switch ($data->type) {
case 'type1':
return new ResponseObject1($data);
case 'type2':
return new ResponseObject2($data);
case 'type3':
return new ResponseObject3($data);
case 'type4':
return new ResponseObject4($data);
}
}
}