+ /**
+ * @return array
+ * ex: ['5.13', '5.14', '5.15']
+ */
+ public static function incrementalPhpObjectVersions() {
+ $versions = [];
+
+ $phpDir = implode(DIRECTORY_SEPARATOR, [dirname(__FILE__), 'Incremental', 'php']);
+ $phpFiles = glob("$phpDir/*.php");
+ foreach ($phpFiles as $phpFile) {
+ $phpWord = substr(basename($phpFile), 0, -4);
+ if (CRM_Utils_EnglishNumber::isNumeric($phpWord)) {
+ /** @var \CRM_Upgrade_Incremental_Base $instance */
+ $className = 'CRM_Upgrade_Incremental_php_' . $phpWord;
+ $instance = new $className();
+ $versions[] = $instance->getMajorMinor();
+ }
+ }
+
+ usort($versions, 'version_compare');
+ return $versions;
+ }
+