Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
<?php

namespace Sabberworm\CSS;

< use Sabberworm\CSS\Rule\Rule; <
/** * Parser settings class. * * Configure parser behaviour here. */
< class Settings {
> class Settings > {
/**
< * Multi-byte string support. If true (mbstring extension must be enabled), will use (slower) mb_strlen, mb_convert_case, mb_substr and mb_strpos functions. Otherwise, the normal (ASCII-Only) functions will be used.
> * Multi-byte string support. > * If true (mbstring extension must be enabled), will use (slower) `mb_strlen`, `mb_convert_case`, `mb_substr` > * and `mb_strpos` functions. Otherwise, the normal (ASCII-Only) functions will be used. > * > * @var bool
*/ public $bMultibyteSupport; /** * The default charset for the CSS if no `@charset` rule is found. Defaults to utf-8.
> * */ > * @var string
public $sDefaultCharset = 'utf-8'; /**
< * Lenient parsing. When used (which is true by default), the parser will not choke on unexpected tokens but simply ignore them.
> * Lenient parsing. When used (which is true by default), the parser will not choke > * on unexpected tokens but simply ignore them. > * > * @var bool
*/ public $bLenientParsing = true;
< private function __construct() {
> private function __construct() > {
$this->bMultibyteSupport = extension_loaded('mbstring'); }
< public static function create() {
> /** > * @return self new instance > */ > public static function create() > {
return new Settings(); }
< public function withMultibyteSupport($bMultibyteSupport = true) {
> /** > * @param bool $bMultibyteSupport > * > * @return self fluent interface > */ > public function withMultibyteSupport($bMultibyteSupport = true) > {
$this->bMultibyteSupport = $bMultibyteSupport; return $this; }
< public function withDefaultCharset($sDefaultCharset) {
> /** > * @param string $sDefaultCharset > * > * @return self fluent interface > */ > public function withDefaultCharset($sDefaultCharset) > {
$this->sDefaultCharset = $sDefaultCharset; return $this; }
< public function withLenientParsing($bLenientParsing = true) {
> /** > * @param bool $bLenientParsing > * > * @return self fluent interface > */ > public function withLenientParsing($bLenientParsing = true) > {
$this->bLenientParsing = $bLenientParsing; return $this; }
< public function beStrict() {
> /** > * @return self fluent interface > */ > public function beStrict() > {
return $this->withLenientParsing(false); } }