В загрузочной функции вашего AuthServiceProvider вы все еще можете проверить значение grant_type в вашем запросе, чтобы определить другое время жизни.
if($request["grant_type"] === "client_credentials"){
// If token is a client_credential we define it to one year
Passport::tokensExpireIn(Carbon::now()->addYear());
}else{
// Or we define it to only one hour
Passport::tokensExpireIn(Carbon::now()->addHour());
}
Я поместил его наоборот: Вы могли бы рисковать сверхусложнять что-то, что смехотворно просто :-)
Хорошо, я являюсь немного бойким. Как другие указывают, Objective C является действительно просто минимальным набором расширений языка C. При написании кода Objective C Вы на самом деле пишете C. Можно даже получить доступ к внутренним махинациям поддержки во время выполнения Objective C с помощью некоторых удобных функций C, которые являются частью языка (нет... Я не рекомендую на самом деле СДЕЛАТЬ это, если Вы действительно не знаете то, что Вы делаете).
В единственное время у меня когда-либо были мягко хитрые моменты, когда я хотел передать метод экземпляра Objective C как обратный вызов к функции C. Скажите, например, я пользуюсь чистой-C кросс-платформенной библиотекой, которая имеет функции, которые принимают обратный вызов. Я мог бы вызвать функцию из экземпляра объекта, чтобы обработать некоторые данные и затем хотеть, чтобы это функция C отозвало мой экземпляр когда его сделанный, или как часть получения дополнительного входа и т.д. и т.д. (общая парадигма в C). Это может быть сделано с броским функциональным обертыванием и некоторыми другими творческими методами, которые я видел, и если когда-нибудь необходимо делать это гуглящий "объективный-c метод для c обратного вызова", или что-то как этот даст Вам товары.
Единственный другой небольшой совет состоит в том, чтобы удостовериться, что Ваши объекты соответственно управляют любым вручную malloc
память редактора, которую они создают для использования функциями C. Вы захотите, чтобы Ваши объективные-c классы убрали ту память на dealloc, если, действительно, это будет закончено.
Кроме этого, сотрите любую ссылку на C и развлекайтесь!
Вы не можете 'смешать' C и Objective C: Objective C является надмножеством C.
Теперь, C++ и Objective C, с другой стороны...
Objective C является надмножеством C, таким образом, это не должно конфликтовать.
За исключением того, что, как указано здесь чистый C имеет различные конвенции (очевидно, так как нет никакого встроенного механизма) обработать программирование OO. В C объект просто (структура *) с указателями функции.