in src/FacebookAds/Object/AbstractCrudObject.php [57:91]
public function __construct($id = null, $parent_id = null, Api $api = null) {
parent::__construct();
// check that $id is an integer or a string integer or a string of
// two integer connected by an underscore, like "123_456"
$int_id = $id;
if (strpos($id, 'act_') === 0) {
$int_id = substr($id, 4);
}
$split_by_underscore = explode('_', (string) $id);
$is_regular_id = sizeof($split_by_underscore) == 2 &&
ctype_digit($split_by_underscore[0]) &&
ctype_digit($split_by_underscore[1]);
if (!is_null($int_id) && !ctype_digit((string) $int_id) && !$is_regular_id) {
$extra_message = '';
if (is_numeric($int_id)) {
$extra_message = ' Please use an integer string'
.' to prevent integer overflow.';
}
throw new \InvalidArgumentException(
'Object ID must be an integer or integer string but was passed "'
.(string)$id.'" ('.gettype($id).').'.(string)$extra_message);
}
$this->data[static::FIELD_ID] = $id;
if (!is_null($parent_id)) {
$warning_message = "\$parent_id as a parameter of constructor is being " .
"deprecated, please try not to use this in new code.\n";
trigger_error($warning_message, E_USER_DEPRECATED);
}
$this->parentId = $parent_id;
$this->api = static::assureApi($api);
}