RusticiSoftware / TinCanPHP

PHP library for the Experience API (Tin Can API)
http://rusticisoftware.github.io/TinCanPHP/
Apache License 2.0
87 stars 78 forks source link

PHP 8 compatibility #108

Open scottshipman opened 2 years ago

scottshipman commented 2 years ago

the packagist / composer instance tops out at php 7.

Are there plans to be compatible with php 8?

jakegibs617 commented 2 years ago

agreed, this is a major showstopper for me.

rusticisoftware/tincan requires php ~5.5 || ^7.0.3 -> your php version (8.1.0) does not satisfy that requirement.

Natshah commented 2 years ago

Hoping to have "php": "~5.5 || ^7 || ^8",

chippyjacob1990 commented 2 years ago

Yes this is very urgent for the project to migrate to php8. See https://www.drupal.org/project/opigno_lms/issues/3269096

bob-hinrichs commented 1 year ago

Too bad this is still hanging! Php 7 is very soon to be done.

mattpaz commented 1 year ago

@brianjmiller - any thoughts on getting this committed (or insight into why it isn't)?

tc60045 commented 1 year ago

any workarounds? fork time?

bob-hinrichs commented 1 year ago

in 18 days php 7.4 support ends.

tc60045 commented 1 year ago

Thanks. I swapped horses, moving from Drupal / Opigno to Wordpress / Sensei LMS.

hamletta commented 1 year ago

If you're stuck, the devs behind Opigno, a Drupal-based LMS, forked this package to solve the immediate problem: https://github.com/opigno/TinCanPHP

mattpaz commented 1 year ago

@alexrayu @spheresh

Does the willdurand/negotiation dependency need to be bumped from 2.3.1 to 3.1.0?

V3 added PHP 8 support. https://github.com/willdurand/Negotiation/releases

mattpaz commented 1 year ago

I noticed that https://github.com/RusticiSoftware/TinCanPHP/pull/110 was committed, which is great.

But there still seems to be some work to do relative to PHP 8.1 support. In addition to the willdurand/negotiation question, I observed at least one deprecated technique was in play:

Deprecated function: http_build_query(): 
Passing null to parameter #2 ($numeric_prefix) of type string is deprecated 
in TinCan\RemoteLRS->sendRequest() 

https://github.com/RusticiSoftware/TinCanPHP/blob/9758b3ec08653f7a49c8ab14ebd1f01557d89b78/src/RemoteLRS.php