Я обычно делаю это:
1.- создайте классы сущности в / system / application / classes
class MyEntity {
}
2. определите константу, указывающую на эту папку on /system/application/config/constants.php
define('CLASSES_DIR', APPPATH . "classes/");
3.- включить классы объектов из моделей:
require_once(CLASSES_DIR . "MyEntity.php");
class MyModel extends Model {
function test() {
$entity = new MyEntity();
$entity->doSomeStuff();
}
}
Это не нарушит вашу структуру mvc , и сохраняет для классов объектов раздельно. Надеюсь, что это поможет!
Ответ, базирующийся от GitHub - auth0/jwt-decode. Измененный ввод/вывод для включения строкового разделения и эхо-сигнала {заголовок, полезная нагрузка, подпись}, таким образом, можно просто передать целый маркер.
var jwtDecode = function (jwt) {
function b64DecodeUnicode(str) {
return decodeURIComponent(atob(str).replace(/(.)/g, function (m, p) {
var code = p.charCodeAt(0).toString(16).toUpperCase();
if (code.length < 2) {
code = '0' + code;
}
return '%' + code;
}));
}
function decode(str) {
var output = str.replace(/-/g, "+").replace(/_/g, "/");
switch (output.length % 4) {
case 0:
break;
case 2:
output += "==";
break;
case 3:
output += "=";
break;
default:
throw "Illegal base64url string!";
}
try {
return b64DecodeUnicode(output);
} catch (err) {
return atob(output);
}
}
var jwtArray = jwt.split('.');
return {
header: decode(jwtArray[0]),
payload: decode(jwtArray[1]),
signature: decode(jwtArray[2])
};
};