Как компилировать less файлы из консоли PHPixie?

255
08 сентября 2017, 22:54

Внимание! Этот вопрос является переводом вопроса: How to compile less files via console command in PHPixie?

Хочу в проекте PHPixie использовать компиляцию less-файлов для bootstrap 3.

Как это можно сделать при помощи консольной команды PHPixie?

Answer 1

Описано на примере PHPixie 3

  1. Предварительно необходимо подключить leafo/lessphp при помощи composer.

  2. Положим less-файл темы в bundles\app\assets\templates\less\theme.less

    @import "theme_header.less";
    @import "theme_footer.less";
    ....
    
  3. Создадим класс bundles\app\src\Console\CompileLess.php следующего вида:

    <?php
    namespace Project\App\Console;
    use PHPixie\Console\Command\Config;
    use PHPixie\Slice\Data;
    /**
     * Сonsole command to compile less to css
     */
    class CompileLess extends Command
    {
        /**
         * Configure your command
         * @param Config $config
         */
        protected function configure($config)
        {
            $config->description("Compile less to css");
        }
        /**
         * @param Data $argumentData
         * @param Data $optionData
         */
        public function run($argumentData, $optionData)
        {
            $lessphp = new \lessc;
            $less_dir =$this->builder->assetsRoot()->path().'/templates/less/';
            $css_dir = $this->builder->webRoot()->path();
            $lessphp->compileFile($less_dir.'theme.less', $css_dir.'theme.css');
        }
    }
    
  4. И пропишем его в bundles\app\src\Console.php:

    <?php
    namespace Project\App;
    class Console extends \PHPixie\DefaultBundle\Console
    {
        protected $classMap = array(
            'greet' => 'Project\App\Console\Greet',
            'compileLess' => 'Project\App\Console\CompileLess',
        );
    }
    
  5. После этого мы можем увидеть команду в списке доступных если запустим console без параметров и запускать:

    console app:compileLess
    

Полезные ссылки:

  • документация по console
  • https://habrahabr.ru/post/314314/
READ ALSO
php ГПСЧ mt_rand()

php ГПСЧ mt_rand()

Здравствуйте! Назрел ещё один вопрос, как можно восстановить seed для mt_srand(), который использовался для генерации чисел с помощью mt_rand()? Сами...

306
PHP PDO количество строк - как правильно?

PHP PDO количество строк - как правильно?

У меня есть такой вопросНужно узнать количество строк, которые вернулись в результате запроса SELECT

690
PHP, помогите с регуляркой

PHP, помогите с регуляркой

Есть категории товаров, которые отдаются в виде

194
Добавление элемента в инфоблок

Добавление элемента в инфоблок

Пытаюсь добавить в инфоблок новый элемент, но на выходе получаю ошибку такого рода "Для добавления элементов инфоблоков используйте вызов...

417