Get the displayable name of the attribute.

@param  string  $attribute
@return string
483265
protected function getAttribute($attribute)
    {
        // The developer may dynamically specify the array of custom attributes
        // on this Validator instance. If the attribute exists in this array
        // it takes precedence over all other ways we can pull attributes.
        if (isset($this->customAttributes[$attribute])) {
            return $this->customAttributes[$attribute];
        }

        $key = "validation.attributes.{$attribute}";

        // We allow for the developer to specify language lines for each of the
        // attributes allowing for more displayable counterparts of each of
        // the attributes. This provides the ability for simple formats.
        if (! is_null($line = $this->config->get($key))) {
            return $line;
        }

        // If no language line has been specified for the attribute all of the
        // underscores are removed from the attribute name and that will be
        // used as default versions of the attribute's displayable names.
        return str_replace('_', ' ', Str::snake($attribute));
    }
1289207
public function getAttributesHTML($attributes)
    {
        // Initialise:
        
        $markup = [];
        
        // Remove Empty Attributes:
        
        $attributes = array_filter($attributes, function ($v) {
            return ($v || $v === 0 || $v === '0');
        });
        
        // Render Remaining Attributes:
        
        foreach ($attributes as $name => $value) {
            $markup[] = sprintf('%s="%s"', $name, ($value === true) ? $name : Convert::raw2att($value));
        }
        
        // Answer Markup:
        
        return implode(' ', $markup);
    }
25510
function _getAttrString($attributes)
    {
        $strAttr = '';

        if (is_array($attributes)) {
            foreach ($attributes as $key => $value) {
                $strAttr .= ' ' . $key . '="' . htmlspecialchars($value) . '"';
            }
        }
        return $strAttr;
    }
929260
public function attr($attribute)
    {
        if (strpos($attribute, ':') !== false) {
            list($ns, $attribute) = explode(':', $attribute, 2);

            return trim((string) $this->el->attributes($ns, true)->{$attribute});
        }
        return trim((string) $this->el->attributes()->{$attribute});
    }
861970
public static function attributes($attributes)
    {
        $buffer = '';

        foreach ($attributes as $name => $value) {
            $buffer .= ' ' . $name . '="' . static::attributeValue($value) . '"';
        }

        return $buffer;
    }
27655
public function getAttributeForVue($attribute) {
		return [
			'name' => Html::getInputName($this, $attribute),
			'value' => $this->$attribute,
			'id' => Html::getInputId($this, $attribute),
			'label' => $this->getAttributeLabel($attribute),
			'hint' => $this->getAttributeHint($attribute),
			'error' => $this->isFirstErrorAttribute($attribute),
		];
	}
281101
public function getSingleAdderCodeDocumentationParameterLines(PHPAttribute $attribute)
    {
        $lines = [];

        $lines[] = '@param ' . $attribute->getPhpSingleTypeBase() . ' $' . $attribute->getSingleName();
        $lines[] = '@param bool $_allowRepeatedValues';

        return $lines;
    }
909525
public function getLocaled(string $attribute)
    {
        // if always decoded
        if (Any::isArray($this->{$attribute})) {
            return $this->{$attribute}[App::$Request->getLanguage()];
        }

        if (!Any::isStr($attribute) || Str::likeEmpty($this->{$attribute})) {
            return null;
        }

        return Serialize::getDecodeLocale($this->{$attribute});
    }
510766
public function getDisplayNameAttribute()
    {
        if (! is_null($this->details->display_name)) {
            return $this->details->display_name;
        }

        if (! is_null($this->details->full_name)) {
            return $this->details->full_name;
        }

        return $this->email;
    }
379365
public function getMultilingualAttributeLabel($attribute)
    {
        $attributeLabels = $this->getMultilingualAttributeLabels();
        return isset($attributeLabels[$attribute]) ? $attributeLabels[$attribute] : $attribute;
    }
603998
protected function getAttributeNameAndLocale($attribute)
    {
        $parts = explode('.', $attribute);

        $name = $parts[0];
        $locale = $parts[1] ?? App::getLocale();

        return [$name, $locale];
    }
1182766
public function get($attribute)
    {
        if (!isset($this->attributes[$attribute])) {
            return null;
        }

        return $this->attributes[$attribute];
    }
976152
public function getGetterCodeDocumentationLines(JavaAttribute $attribute)
    {
        $lines = [];

        $lines[] = 'Get ' . $attribute->getLowerFullName();
        $lines[] = '';
        $lines[] = '@return ' . ('object' === $attribute->getType() ? $attribute->getEntitySubtype()->getName() : $attribute->getType());

        return $lines;
    }
1287819
public function getGetterDeclarationLines(CPPAttribute $attribute)
    {
        $lines = [];

        if ('object' === $attribute->getType()) {
            $lines[] = $attribute->getStatic()
                ? $attribute->getEntitySubtype()->getName() . ' ' . $attribute->getGetterName() . '();'
                : $attribute->getEntitySubtype()->getName() . ' ' . $attribute->getGetterName() . '();';
        } else {
            $lines[] = $attribute->getStatic()
                ? $attribute->getType() . ' ' . $attribute->getGetterName() . '();'
                : $attribute->getType() . ' ' . $attribute->getGetterName() . '();';
        }

        return $lines;
    }
582038
public function getAttribute($attribute)
    {
        if ($attribute == PDO::ATTR_DRIVER_NAME) {
            return "oci8";
        }

        if (isset($this->options[$attribute])) {
            return $this->options[$attribute];
        }

        return null;
    }
509225
protected function attribute(&$attributes) {
        $tok = $this->scanner->current();
        if ($tok == '/' || $tok == '>' || $tok === false) {
            return false;
        }

        if ($tok == '<') {
            $this->parseError("Unexepcted '<' inside of attributes list.");
            // Push the < back onto the stack.
            $this->scanner->unconsume();
            // Let the caller figure out how to handle this.
            throw new HTML5_Parser_Exception("Start tag inside of attribute.");
        }

        $name = strtolower($this->scanner->charsUntil("/>=\n\f\t "));

        if (strlen($name) == 0) {
            $this->parseError("Expected an attribute name, got %s.", $this->scanner->current());
            // Really, only '=' can be the char here. Everything else gets absorbed
            // under one rule or another.
            $name = $this->scanner->current();
            $this->scanner->next();
        }

        $isValidAttribute = true;
        // Attribute names can contain most Unicode characters for HTML5.
        // But method "DOMElement::setAttribute" is throwing exception
        // because of it's own internal restriction so these have to be filtered.
        // see issue #23: https://github.com/Masterminds/html5-php/issues/23
        // and http://www.w3.org/TR/2011/WD-html5-20110525/syntax.html#syntax-attribute-name
        if (preg_match("/[\x1-\x2C\\/\x3B-\x40\x5B-\x5E\x60\x7B-\x7F]/u", $name)) {
            $this->parseError("Unexpected characters in attribute name: %s", $name);
            $isValidAttribute = false;
        }         // There is no limitation for 1st character in HTML5.
        // But method "DOMElement::setAttribute" is throwing exception for the
        // characters below so they have to be filtered.
        // see issue #23: https://github.com/Masterminds/html5-php/issues/23
        // and http://www.w3.org/TR/2011/WD-html5-20110525/syntax.html#syntax-attribute-name
        else
        if (preg_match("/^[0-9.-]/u", $name)) {
            $this->parseError("Unexpected character at the begining of attribute name: %s", $name);
            $isValidAttribute = false;
        }
        // 8.1.2.3
        $this->scanner->whitespace();

        $val = $this->attributeValue();
        if ($isValidAttribute) {
            $attributes[$name] = $val;
        }
        return true;
    }
153351
protected function getAttribute( $attribute )
	{
		$primaryAttribute = $this->getPrimaryAttribute( $attribute );

		$expectedAttributes = $attribute != $primaryAttribute ? [$attribute, $primaryAttribute] : [$attribute];

		foreach ( $expectedAttributes as $expectedAttributeName )
		{
			// The developer may dynamically specify the array of custom attributes
			// on this Validator instance. If the attribute exists in this array
			// it takes precedence over all other ways we can pull attributes.
			if ( isset( $this->customAttributes[$expectedAttributeName] ) )
			{
				return $this->customAttributes[$expectedAttributeName];
			}

			$key = "validation.attributes.{$expectedAttributeName}";

			// We allow for the developer to specify language lines for each of the
			// attributes allowing for more displayable counterparts of each of
			// the attributes. This provides the ability for simple formats.
			if ( ( $line = $this->translator->trans( $key ) ) !== $key )
			{
				return $line;
			}
		}

		// When no language line has been specified for the attribute and it is
		// also an implicit attribute we will display the raw attribute name
		// and not modify it with any replacements before we display this.
		if ( isset( $this->implicitAttributes[$primaryAttribute] ) )
		{
			return $attribute;
		}

		return str_replace( '_', ' ', Str::snake( $attribute ) );
	}