original_string: public function css($path, array $options = [])
      {
          $options += ['once' => true, 'block' => null, 'rel' => 'stylesheet'];
  
          if (is_array($path)) {
              $out = '';
              foreach ($path as $i) {
                  $out .= "\n\t" . $this->css($i, $options);
              }
              if (empty($options['block'])) {
                  return $out . "\n";
              }
  
              return null;
          }
  
          if (strpos($path, '//') !== false) {
              $url = $path;
          } else {
              $url = $this->Url->css($path, $options);
              $options = array_diff_key($options, ['fullBase' => null, 'pathPrefix' => null]);
          }
  
          if ($options['once'] && isset($this->_includedAssets[__METHOD__][$path])) {
              return null;
          }
          unset($options['once']);
          $this->_includedAssets[__METHOD__][$path] = true;
          $templater = $this->templater();
  
          if ($options['rel'] === 'import') {
              $out = $templater->format('style', [
                  'attrs' => $templater->formatAttributes($options, ['rel', 'block']),
                  'content' => '@import url(' . $url . ');',
              ]);
          } else {
              $out = $templater->format('css', [
                  'rel' => $options['rel'],
                  'url' => $url,
                  'attrs' => $templater->formatAttributes($options, ['rel', 'block']),
              ]);
          }
  
          if (empty($options['block'])) {
              return $out;
          }
          if ($options['block'] === true) {
              $options['block'] = __FUNCTION__;
          }
          $this->_View->append($options['block'], $out);
      }
code: public function css($path, array $options = [])
      {
          $options += ['once' => true, 'block' => null, 'rel' => 'stylesheet'];
  
          if (is_array($path)) {
              $out = '';
              foreach ($path as $i) {
                  $out .= "\n\t" . $this->css($i, $options);
              }
              if (empty($options['block'])) {
                  return $out . "\n";
              }
  
              return null;
          }
  
          if (strpos($path, '//') !== false) {
              $url = $path;
          } else {
              $url = $this->Url->css($path, $options);
              $options = array_diff_key($options, ['fullBase' => null, 'pathPrefix' => null]);
          }
  
          if ($options['once'] && isset($this->_includedAssets[__METHOD__][$path])) {
              return null;
          }
          unset($options['once']);
          $this->_includedAssets[__METHOD__][$path] = true;
          $templater = $this->templater();
  
          if ($options['rel'] === 'import') {
              $out = $templater->format('style', [
                  'attrs' => $templater->formatAttributes($options, ['rel', 'block']),
                  'content' => '@import url(' . $url . ');',
              ]);
          } else {
              $out = $templater->format('css', [
                  'rel' => $options['rel'],
                  'url' => $url,
                  'attrs' => $templater->formatAttributes($options, ['rel', 'block']),
              ]);
          }
  
          if (empty($options['block'])) {
              return $out;
          }
          if ($options['block'] === true) {
              $options['block'] = __FUNCTION__;
          }
          $this->_View->append($options['block'], $out);
      }
code_tokens: public function css ( $ path , array $ options = [ ] ) { $ options += [ 'once' => true , 'block' => null , 'rel' => 'stylesheet' ] ; if ( is_array ( $ path ) ) { $ out = '' ; foreach ( $ path as $ i ) { $ out .= "\n\t" . $ this -> css ( $ i , $ options ) ; } if ( empty ( $ options [ 'block' ] ) ) { return $ out . "\n" ; } return null ; } if ( strpos ( $ path , '//' ) !== false ) { $ url = $ path ; } else { $ url = $ this -> Url -> css ( $ path , $ options ) ; $ options = array_diff_key ( $ options , [ 'fullBase' => null , 'pathPrefix' => null ] ) ; } if ( $ options [ 'once' ] && isset ( $ this -> _includedAssets [ __METHOD__ ] [ $ path ] ) ) { return null ; } unset ( $ options [ 'once' ] ) ; $ this -> _includedAssets [ __METHOD__ ] [ $ path ] = true ; $ templater = $ this -> templater ( ) ; if ( $ options [ 'rel' ] === 'import' ) { $ out = $ templater -> format ( 'style' , [ 'attrs' => $ templater -> formatAttributes ( $ options , [ 'rel' , 'block' ] ) , 'content' => '@import url(' . $ url . ');' , ] ) ; } else { $ out = $ templater -> format ( 'css' , [ 'rel' => $ options [ 'rel' ] , 'url' => $ url , 'attrs' => $ templater -> formatAttributes ( $ options , [ 'rel' , 'block' ] ) , ] ) ; } if ( empty ( $ options [ 'block' ] ) ) { return $ out ; } if ( $ options [ 'block' ] === true ) { $ options [ 'block' ] = __FUNCTION__ ; } $ this -> _View -> append ( $ options [ 'block' ] , $ out ) ; }
docstring: Creates a link element for CSS stylesheets.
  
  ### Usage
  
  Include one CSS file:
  
  ```
  echo $this->Html->css('styles.css');
  ```
  
  Include multiple CSS files:
  
  ```
  echo $this->Html->css(['one.css', 'two.css']);
  ```
  
  Add the stylesheet to view block "css":
  
  ```
  $this->Html->css('styles.css', ['block' => true]);
  ```
  
  Add the stylesheet to a custom block:
  
  ```
  $this->Html->css('styles.css', ['block' => 'layoutCss']);
  ```
  
  ### Options
  
  - `block` Set to true to append output to view block "css" or provide
  custom block name.
  - `once` Whether or not the css file should be checked for uniqueness. If true css
  files  will only be included once, use false to allow the same
  css to be included more than once per request.
  - `plugin` False value will prevent parsing path as a plugin
  - `rel` Defaults to 'stylesheet'. If equal to 'import' the stylesheet will be imported.
  - `fullBase` If true the URL will get a full address for the css file.
  
  @param string|array $path The name of a CSS style sheet or an array containing names of
  CSS stylesheets. If `$path` is prefixed with '/', the path will be relative to the webroot
  of your application. Otherwise, the path will be relative to your CSS path, usually webroot/css.
  @param array $options Array of options and HTML arguments.
  @return string|null CSS `<link />` or `<style />` tag, depending on the type of link.
  @link https://book.cakephp.org/3.0/en/views/helpers/html.html#linking-to-css-files
docstring_tokens: Creates a link element for CSS stylesheets .