Как получить доступ к строковой функции с PHP?

Я использую PHP CSS препроцессор CssCrush в первый раз, и мне нужно реализовать csscrush_string() функция в моем собственном менеджере активов. Ранее я использовал CssMin но теперь мне нужно использовать препроцессор.

Следующий фрагмент ниже, очевидно, имеет синтаксическую ошибку в $data = csscrush_string( string $string [, array $options ] ); и я не знаю, как это исправить — Я новичок в PHP.

ОБНОВЛЕНИЕ: я также попробовал: $data = Crush::csscrush_string(); но я получаю PHP Fatal error: Class 'Crush' not found... даже если Crush это класс.

Использование CssCrush (заменив CssMin):

<?php

private function process_resource($file, $type)
{
//...Files are combined and dumped into $data up here
// before running the preprocessor and minifier...

$data = str_replace($keys, $vals, $data);
$css_lib = VENDOR_DIR . "css-crush/css-crush/CssCrush.php";
if ($this->settings[$type]["minify"])
{
require $css_lib;
$data = csscrush_string( string $string [, array $options ] );
$data = trim($data);
}
}

Использование CssMin (работает):

<?php

$data = str_replace($keys, $vals, $data);
css_lib = VENDOR_DIR . "natxet/CssMin/src/CssMin.php";
if ($this->settings[$type]["minify"])
{
require $css_lib;
$data = CssMin::minify($data);
$data = trim($data);
}

Любая помощь (фрагмент кода) будет принята с благодарностью.

0

Решение

Это просто предположение, потому что я не знаю, что содержит $ data, но кажется, что это строка

менять

 $data = csscrush_string( string $string [, array $options ] );
$data = trim($data);

в

 $data = csscrush_string(trim($data));

Я проверил источник этой функции, и есть только одна опция, которую нужно передать, называемая «шаблон», если вы хотите передать ее, то вы должны вызвать функцию, как показано ниже

 $data = csscrush_string(trim($data), array('boilerplate' => true));

Также учтите, что эта функция находится в пространстве имен, поэтому вы должны поставить

use \CssCrush\Crush\csscrush_string; или функция класса, как

  $data = \CssCrush\Crush\csscrush_string(trim($data));
1

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

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

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