longhornopen / lti
用于构建LTI集成的PHP类库
v5.0.2.0
2024-01-17 14:33 UTC
Requires
- php: >=8.1
- firebase/php-jwt: ^6.8
- laravel/framework: *
README
这组PHP类封装了符合LTI规范的工具提供商与LTI工具消费者通信所需的代码。它包括对LTI 1.1和基本LTI非官方扩展的支持,以及LTI 1.2/2.0的注册过程和服务,以及LTI 1.3引入的新安全模型。同时,也支持使用LTI安全模型中的任一模型来实现名称和角色配置服务以及作业和评分服务(行项、结果和评分)。
这些类的设计是为了更新LTI工具提供商类库,并替代https://github.com/IMSGlobal/LTI-Tool-Provider-Library-PHP库,后者已不再维护。
尽管支持LTI相对简单,但使用此类库的好处包括:
- 由类提供的抽象层使LTI通信与应用程序代码分离;
- 代码可以在多个工具提供商之间重用;
- LTI数据被转换为有用的对象,缺失数据自动用合理的默认值替换;
- 结果服务功能根据工具消费者支持的情况,使用LTI 1.1或非官方的结果扩展;
- 支持会员和非设置服务的非官方扩展;
- 还包括额外功能,例如:
- 启用/禁用消费者密钥;
- 为每个消费者密钥设置启用访问的开始和结束时间;
- 设置用户可以协同工作的配置,以便来自不同资源链接的用户可以在单个工具提供商链接内协同工作;
- LTI应用程序可以利用LTI更新,同时对代码的影响最小。