-- Ian Warner <[email protected]> wrote
(on Monday, 16 November 2009, 10:34 PM +0900):
> Stefan
>
> Spot on
>
> However I get this error now:
> Fatal error: Call to undefined method
> Zend_View_Helper_Placeholder_Container::ksort() in
> /content/pringlus/docs/conga/library/Zend/View/Helper/HeadLink.php on
> line 311
This will happen pre 5.2.0 as well, IIRC; ArrayObject only added it at
that point.
> In the toString method:
>
> public function toString($indent = null)
> {
> $indent = (null !== $indent)
> ? $this->getWhitespace($indent)
> : $this->getIndent();
>
> $items = array();
> $this->getContainer()->ksort();
> foreach ($this as $item) {
> $items[] = $this->itemToString($item);
> }
>
> return $indent . implode($this->_escape($this->getSeparator())
> . $indent, $items);
> }
>
> Ian
>
>
> 2009/11/16 Stefan Gehrig <[email protected]>:
> > The problem is that you're doing
> >
> > echo $this->headScript() . PHP_EOL;
> > ^
> > |
> > that's a concatenation --+
> >
> > That's effectively "concat the result from $this->headScript() with an
> > PHP_EOL and echo the result".
> > Therefore this is not strictly considered "directly combined with echo() or
> > print()".
> >
> > You'd have to do:
> > echo $this->headScript();
> > echo PHP_EOL;
> >
> > Best regards
> >
> > Stefan
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Ian Warner [mailto:[email protected]]
> > Gesendet: Montag, 16. November 2009 12:48
> > An: Stefan Gehrig
> > Betreff: Re: [fw-general] Issues with $this->headScript()
> >
> > Stefan
> >
> > appreciate that, indeed this server has 5.1.x on it
> >
> > However I am doing
> > echo $this->headScript() . PHP_EOL;
> >
> > therefore from the instructions:
> >
> > "It is worth noting that before PHP 5.2.0 the __toString method was
> > only called when it was directly combined with echo() or print()"
> >
> > am I not doiing this correctly?
> >
> > 2009/11/16 Stefan Gehrig <[email protected]>:
> >> Hi Ian,
> >>
> >> please check your PHP version...
> >>
> >> It is worth noting that before PHP 5.2.0 the __toString method was only
> >> called when it was directly combined with echo() or print(). Since PHP
> >> 5.2.0, it is called in any string context (e.g. in printf() with %s
> >> modifier) but not in other types contexts (e.g. with %d modifier). [...]
> >> http://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring
> >>
> >> __toString will not be called in concatenation-operations prior to PHP
> >> 5.2.0.
> >>
> >> Best regards
> >>
> >> Stefan
> >>
> >>
> >> -----Ursprüngliche Nachricht-----
> >> Von: Ian Warner [mailto:[email protected]]
> >> Gesendet: Montag, 16. November 2009 12:28
> >> An: Zend Framework
> >> Betreff: [fw-general] Issues with $this->headScript()
> >>
> >> Hi
> >>
> >> When I use:
> >> echo $this->headScript() . PHP_EOL;
> >>
> >>
> >> All that prints out is:
> >> Object id #99
> >>
> >> This is a new and unfamiliar server I am deploying on so could be
> >> anything - but any pointed gratefully received
> >>
> >> Ian
> >>
> >>
> >
> >
>
--
Matthew Weier O'Phinney
Project Lead | [email protected]
Zend Framework | http://framework.zend.com/