Embedded JS returns false positive
When scanning our site, the WPML Translation Management plugin reported errors, such as the following:
WARNING | Possible use of ASP style opening tags detected. ASP style opening tags have been removed in PHP 7.0. Found: <%= TJ.last_update %>
This appears to be due to the use of Embedded JS (or similar?) syntax rather than a PHP error.
File: /wp-content/plugins/wpml-translation-management/res/js/listing/templates/listing-group-view.php
<h4><?php _e( 'Translation Batch sent on ', 'wpml-translation-management' ) ?><%= TJ.last_update %></h4>
Those type of tags are dangerous to use in plugin code as - as a developer - you don't know whether the server on which the plugin will be deployed will have the asp_tags setting turned on or off.
If it would be deployed on a server with the setting turned on, it will cause parse errors and the WP white screen of death.
Not sure whether the plugin has a check at the start of the code to check for the ini setting of asp_tags and disable itself when those are on, but that would definitely be needed here.
Having delved a little deeper it appears the ASP style tags are used by either Underscore JS or Backbone JS, rather than being standard plugin code.
https://wpml.org/forums/topic/is-not-compatible-code-for-php-7-please-upgrade-to/
I don't really understand enough to comment further - just attempting to be 100% sure that we are OK to ask WPEngine to upgrade us to PHP7.
As PHP no longer supports ASP tags since PHP 7, this particular issue (i.e. having those tags in the code, even though they are not used as ASP tags) will not cause any problems when you upgrade. I can't say anything about the rest of the code though.