Я только начинаю писать php, используя библиотеку Imagick / ImageMagick, и видел несколько примеров относительно setImageCompression, которые, кажется, реализуют вещи по-другому.
Например, я видел, как это используется так:
$image->setImageCompression(Imagick::COMPRESSION_LZW);
а также вот так:
$image->setImageCompression(\Imagick::COMPRESSION_UNDEFINED);
Итак, какова актуальность обратной косой черты перед объявлением типа сжатия? Это специфично для типа сжатия? Опечатка в примерах, которые я видел, или что-то еще?
Обратная косая черта необходима только при использовании Пространства имен.
Например, первый не будет работать в namespace Foo
потому что он будет искать класс Foo\Imagick
:
namespace {
var_dump(Imagick::COMPRESSION_LZW); // int(11)
}
namespace Foo {
var_dump(Imagick::COMPRESSION_LZW); // Class 'Foo\Imagick' not found
}
Второй будет работать во всех случаях:
namespace {
var_dump(\Imagick::COMPRESSION_LZW); // int(11)
}
namespace Foo {
var_dump(\Imagick::COMPRESSION_LZW); // int(11)
}
Других решений пока нет …