for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Nip\View\Helpers;
use Exception;
/**
* Class DoctypeHelper.
*/
class DoctypeHelper extends AbstractHelper
{
protected $docType;
* @return string
public function __toString()
return $this->render();
}
public function render()
switch ($this->docType) {
case 'XHTML11':
return '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';
case 'XHTML1_STRICT':
return '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
case 'XHTML1_FRAMESET':
return '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">';
case 'XHTML_BASIC1':
return '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">';
case 'HTML4_STRICT':
return '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">';
case 'HTML4_LOOSE':
return '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
case 'HTML4_FRAMESET':
return '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">';
case 'XHTML1_TRANSITIONAL':
return '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
default:
return '<!DOCTYPE html>';
* @param bool $docType
*
* @return $this
* @throws Exception
public function set($docType = false)
switch ($docType) {
$this->docType = $docType;
break;
throw new Exception('unknown doctype');
return $this;