PHP Imagick setImageCompression

Я только начинаю писать php, используя библиотеку Imagick / ImageMagick, и видел несколько примеров относительно setImageCompression, которые, кажется, реализуют вещи по-другому.

Например, я видел, как это используется так:

$image->setImageCompression(Imagick::COMPRESSION_LZW);

а также вот так:

$image->setImageCompression(\Imagick::COMPRESSION_UNDEFINED);

Итак, какова актуальность обратной косой черты перед объявлением типа сжатия? Это специфично для типа сжатия? Опечатка в примерах, которые я видел, или что-то еще?

3

Решение

Обратная косая черта необходима только при использовании Пространства имен.

Например, первый не будет работать в 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)
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]