Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
Message.php
001 <?php
002 /**
003 * Zend Framework (http://framework.zend.com/)
004 *
005 * @link http://github.com/zendframework/zf2 for the canonical source repository
006 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
007 * @license http://framework.zend.com/license/new-bsd New BSD License
008 */
009
010 namespace Zend\Stdlib;
011
012 use Traversable;
013
014 class Message implements MessageInterface
015 {
016 /**
017 * @var array
018 */
019 protected $metadata = array();
020
021 /**
022 * @var string
023 */
024 protected $content = '';
025
026 /**
027 * Set message metadata
028 *
029 * Non-destructive setting of message metadata; always adds to the metadata, never overwrites
030 * the entire metadata container.
031 *
032 * @param string|int|array|Traversable $spec
033 * @param mixed $value
034 * @throws Exception\InvalidArgumentException
035 * @return Message
036 */
037 public function setMetadata($spec, $value = null)
038 {
039 if (is_scalar($spec)) {
040 $this->metadata[$spec] = $value;
041 return $this;
042 }
043 if (!is_array($spec) && !$spec instanceof Traversable) {
044 throw new Exception\InvalidArgumentException(sprintf(
045 'Expected a string, array, or Traversable argument in first position; received "%s"',
046 (is_object($spec) ? get_class($spec) : gettype($spec))
047 ));
048 }
049 foreach ($spec as $key => $value) {
050 $this->metadata[$key] = $value;
051 }
052 return $this;
053 }
054
055 /**
056 * Retrieve all metadata or a single metadatum as specified by key
057 *
058 * @param null|string|int $key
059 * @param null|mixed $default
060 * @throws Exception\InvalidArgumentException
061 * @return mixed
062 */
063 public function getMetadata($key = null, $default = null)
064 {
065 if (null === $key) {
066 return $this->metadata;
067 }
068
069 if (!is_scalar($key)) {
070 throw new Exception\InvalidArgumentException('Non-scalar argument provided for key');
071 }
072
073 if (array_key_exists($key, $this->metadata)) {
074 return $this->metadata[$key];
075 }
076
077 return $default;
078 }
079
080 /**
081 * Set message content
082 *
083 * @param mixed $value
084 * @return Message
085 */
086 public function setContent($value)
087 {
088 $this->content = $value;
089 return $this;
090 }
091
092 /**
093 * Get message content
094 *
095 * @return mixed
096 */
097 public function getContent()
098 {
099 return $this->content;
100 }
101
102 /**
103 * @return string
104 */
105 public function toString()
106 {
107 $request = '';
108 foreach ($this->getMetadata() as $key => $value) {
109 $request .= sprintf(
110 "%s: %s\r\n",
111 (string) $key,
112 (string) $value
113 );
114 }
115 $request .= "\r\n" . $this->getContent();
116 return $request;
117 }
118 }
119