<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-15440</id>
	<title>Nabble - Zend Framework</title>
	<updated>2009-11-08T11:02:12Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Zend-Framework-f15440.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Framework-f15440.html" />
	<subtitle type="html">General discussion list for the Zend PHP Framework.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26256786</id>
	<title>Re: Re: optgroup class or id</title>
	<published>2009-11-08T11:02:12Z</published>
	<updated>2009-11-08T11:02:12Z</updated>
	<author>
		<name>bradley.holt</name>
	</author>
	<content type="html">On Sun, Nov 8, 2009 at 1:44 PM, Matthew Weier O'Phinney
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26256786&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Can you add an issue to the tracker for this, along with your patch? The
&lt;br&gt;&amp;gt; feature has been requested more than once. :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Sure, opened as ZF-8252 (not sure why the formatting got hosed):
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://framework.zend.com/issues/browse/ZF-8252&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/issues/browse/ZF-8252&lt;/a&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -- Bradley Holt &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26256786&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bradley.holt@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; (on Sunday, 08 November 2009, 01:28 PM -0500):
&lt;br&gt;&amp;gt;&amp;gt; I dug into the rendering code in Zend_View_Helper_FormSelect. Based on
&lt;br&gt;&amp;gt;&amp;gt; how the optgroup element is created I can see that there's no way to
&lt;br&gt;&amp;gt;&amp;gt; add an id or class to the optgroup. Here is a patch that should allow
&lt;br&gt;&amp;gt;&amp;gt; for the following use case but should still be backwards compatible.
&lt;br&gt;&amp;gt;&amp;gt; This is not necessarily the best way to do this and could probably be
&lt;br&gt;&amp;gt;&amp;gt; a lot better: I put it together very quickly. The existing code
&lt;br&gt;&amp;gt;&amp;gt; doesn't seem to follow the Zend Framework coding standards so I kept
&lt;br&gt;&amp;gt;&amp;gt; my new code similar to the code that's already there. Again, this
&lt;br&gt;&amp;gt;&amp;gt; could be a lot more extensible than it is (e.g. it only allows for id
&lt;br&gt;&amp;gt;&amp;gt; and not class or other arbitrary decorators).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Here is the use case that will give the desired output in my previous
&lt;br&gt;&amp;gt;&amp;gt; email (id attribute on optgroup elements):
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;         $optgroupTest = new Zend_Form_Element_Select('optgroup_test');
&lt;br&gt;&amp;gt;&amp;gt;         $options = array (
&lt;br&gt;&amp;gt;&amp;gt;             array(
&lt;br&gt;&amp;gt;&amp;gt;                 'id'    =&amp;gt; 'option_group_1',
&lt;br&gt;&amp;gt;&amp;gt;                 'label' =&amp;gt; 'Option Group 1',
&lt;br&gt;&amp;gt;&amp;gt;                 'options' =&amp;gt; array (
&lt;br&gt;&amp;gt;&amp;gt;                     'A'     =&amp;gt; 'Option A',
&lt;br&gt;&amp;gt;&amp;gt;                     'B'     =&amp;gt; 'Option B',
&lt;br&gt;&amp;gt;&amp;gt;                     'C'     =&amp;gt; 'Option C',
&lt;br&gt;&amp;gt;&amp;gt;                 ),
&lt;br&gt;&amp;gt;&amp;gt;             ),
&lt;br&gt;&amp;gt;&amp;gt;             array(
&lt;br&gt;&amp;gt;&amp;gt;                 'id'    =&amp;gt; 'option_group_2',
&lt;br&gt;&amp;gt;&amp;gt;                 'label' =&amp;gt; 'Option Group 2',
&lt;br&gt;&amp;gt;&amp;gt;                 'options' =&amp;gt; array (
&lt;br&gt;&amp;gt;&amp;gt;                     'D'     =&amp;gt; 'Option D',
&lt;br&gt;&amp;gt;&amp;gt;                 ),
&lt;br&gt;&amp;gt;&amp;gt;             ),
&lt;br&gt;&amp;gt;&amp;gt;         );
&lt;br&gt;&amp;gt;&amp;gt;         $optgroupTest
&lt;br&gt;&amp;gt;&amp;gt;             -&amp;gt;setLabel('Optgroup Test')
&lt;br&gt;&amp;gt;&amp;gt;             -&amp;gt;addMultiOptions(
&lt;br&gt;&amp;gt;&amp;gt;                 $options
&lt;br&gt;&amp;gt;&amp;gt;             )
&lt;br&gt;&amp;gt;&amp;gt;         ;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Here is the patch against Zend Framework 1.9.5 (tags/release-1.9.5)
&lt;br&gt;&amp;gt;&amp;gt; that will make the above use case work (patch attached as well):
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Index: View/Helper/FormSelect.php
&lt;br&gt;&amp;gt;&amp;gt; ===================================================================
&lt;br&gt;&amp;gt;&amp;gt; --- View/Helper/FormSelect.php        (revision 18900)
&lt;br&gt;&amp;gt;&amp;gt; +++ View/Helper/FormSelect.php        (working copy)
&lt;br&gt;&amp;gt;&amp;gt; @@ -116,6 +116,15 @@
&lt;br&gt;&amp;gt;&amp;gt;          $translator = $this-&amp;gt;getTranslator();
&lt;br&gt;&amp;gt;&amp;gt;          foreach ((array) $options as $opt_value =&amp;gt; $opt_label) {
&lt;br&gt;&amp;gt;&amp;gt;              if (is_array($opt_label)) {
&lt;br&gt;&amp;gt;&amp;gt; +                $opt_id = '';
&lt;br&gt;&amp;gt;&amp;gt; +                if (is_integer($opt_value)) {
&lt;br&gt;&amp;gt;&amp;gt; +                    $opt_array = $opt_label;
&lt;br&gt;&amp;gt;&amp;gt; +                    if (array_key_exists('id', $opt_array)) {
&lt;br&gt;&amp;gt;&amp;gt; +                        $opt_id = ' id=&amp;quot;' . $opt_array['id'] . '&amp;quot;';
&lt;br&gt;&amp;gt;&amp;gt; +                    }
&lt;br&gt;&amp;gt;&amp;gt; +                    $opt_value = $opt_array['label'];
&lt;br&gt;&amp;gt;&amp;gt; +                    $opt_label = $opt_array['options'];
&lt;br&gt;&amp;gt;&amp;gt; +                }
&lt;br&gt;&amp;gt;&amp;gt;                  $opt_disable = '';
&lt;br&gt;&amp;gt;&amp;gt;                  if (is_array($disable) &amp;&amp; in_array($opt_value, $disable)) {
&lt;br&gt;&amp;gt;&amp;gt;                      $opt_disable = ' disabled=&amp;quot;disabled&amp;quot;';
&lt;br&gt;&amp;gt;&amp;gt; @@ -124,6 +133,7 @@
&lt;br&gt;&amp;gt;&amp;gt;                      $opt_value = $translator-&amp;gt;translate($opt_value);
&lt;br&gt;&amp;gt;&amp;gt;                  }
&lt;br&gt;&amp;gt;&amp;gt;                  $list[] = '&amp;lt;optgroup'
&lt;br&gt;&amp;gt;&amp;gt; +                        . $opt_id
&lt;br&gt;&amp;gt;&amp;gt;                          . $opt_disable
&lt;br&gt;&amp;gt;&amp;gt;                          . ' label=&amp;quot;' . $this-&amp;gt;view-&amp;gt;escape($opt_value) .'&amp;quot;&amp;gt;';
&lt;br&gt;&amp;gt;&amp;gt;                  foreach ($opt_label as $val =&amp;gt; $lab) {
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt; Bradley
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26256786&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/optgroup-class-or-id-tp26255904p26256786.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26256606</id>
	<title>Re: Re: optgroup class or id</title>
	<published>2009-11-08T10:44:59Z</published>
	<updated>2009-11-08T10:44:59Z</updated>
	<author>
		<name>weierophinney</name>
	</author>
	<content type="html">Can you add an issue to the tracker for this, along with your patch? The
&lt;br&gt;feature has been requested more than once. :)
&lt;br&gt;&lt;br&gt;-- Bradley Holt &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26256606&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bradley.holt@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;(on Sunday, 08 November 2009, 01:28 PM -0500):
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I dug into the rendering code in Zend_View_Helper_FormSelect. Based on
&lt;br&gt;&amp;gt; how the optgroup element is created I can see that there's no way to
&lt;br&gt;&amp;gt; add an id or class to the optgroup. Here is a patch that should allow
&lt;br&gt;&amp;gt; for the following use case but should still be backwards compatible.
&lt;br&gt;&amp;gt; This is not necessarily the best way to do this and could probably be
&lt;br&gt;&amp;gt; a lot better: I put it together very quickly. The existing code
&lt;br&gt;&amp;gt; doesn't seem to follow the Zend Framework coding standards so I kept
&lt;br&gt;&amp;gt; my new code similar to the code that's already there. Again, this
&lt;br&gt;&amp;gt; could be a lot more extensible than it is (e.g. it only allows for id
&lt;br&gt;&amp;gt; and not class or other arbitrary decorators).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here is the use case that will give the desired output in my previous
&lt;br&gt;&amp;gt; email (id attribute on optgroup elements):
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $optgroupTest = new Zend_Form_Element_Select('optgroup_test');
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $options = array (
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'id' &amp;nbsp; &amp;nbsp;=&amp;gt; 'option_group_1',
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'label' =&amp;gt; 'Option Group 1',
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'options' =&amp;gt; array (
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'A' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option A',
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'B' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option B',
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'C' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option C',
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'id' &amp;nbsp; &amp;nbsp;=&amp;gt; 'option_group_2',
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'label' =&amp;gt; 'Option Group 2',
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'options' =&amp;gt; array (
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'D' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option D',
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $optgroupTest
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;gt;setLabel('Optgroup Test')
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;gt;addMultiOptions(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $options
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here is the patch against Zend Framework 1.9.5 (tags/release-1.9.5)
&lt;br&gt;&amp;gt; that will make the above use case work (patch attached as well):
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Index: View/Helper/FormSelect.php
&lt;br&gt;&amp;gt; ===================================================================
&lt;br&gt;&amp;gt; --- View/Helper/FormSelect.php	(revision 18900)
&lt;br&gt;&amp;gt; +++ View/Helper/FormSelect.php	(working copy)
&lt;br&gt;&amp;gt; @@ -116,6 +116,15 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$translator = $this-&amp;gt;getTranslator();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach ((array) $options as $opt_value =&amp;gt; $opt_label) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (is_array($opt_label)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_id = '';
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (is_integer($opt_value)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_array = $opt_label;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (array_key_exists('id', $opt_array)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_id = ' id=&amp;quot;' . $opt_array['id'] . '&amp;quot;';
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_value = $opt_array['label'];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_label = $opt_array['options'];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_disable = '';
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (is_array($disable) &amp;&amp; in_array($opt_value, $disable)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_disable = ' disabled=&amp;quot;disabled&amp;quot;';
&lt;br&gt;&amp;gt; @@ -124,6 +133,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_value = $translator-&amp;gt;translate($opt_value);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$list[] = '&amp;lt;optgroup'
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. $opt_id
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. $opt_disable
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. ' label=&amp;quot;' . $this-&amp;gt;view-&amp;gt;escape($opt_value) .'&amp;quot;&amp;gt;';
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach ($opt_label as $val =&amp;gt; $lab) {
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Bradley
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Matthew Weier O'Phinney
&lt;br&gt;Project Lead &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26256606&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;Zend Framework &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/optgroup-class-or-id-tp26255904p26256606.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26256425</id>
	<title>Re: optgroup class or id</title>
	<published>2009-11-08T10:28:00Z</published>
	<updated>2009-11-08T10:28:00Z</updated>
	<author>
		<name>bradley.holt</name>
	</author>
	<content type="html">I dug into the rendering code in Zend_View_Helper_FormSelect. Based on
&lt;br&gt;how the optgroup element is created I can see that there's no way to
&lt;br&gt;add an id or class to the optgroup. Here is a patch that should allow
&lt;br&gt;for the following use case but should still be backwards compatible.
&lt;br&gt;This is not necessarily the best way to do this and could probably be
&lt;br&gt;a lot better: I put it together very quickly. The existing code
&lt;br&gt;doesn't seem to follow the Zend Framework coding standards so I kept
&lt;br&gt;my new code similar to the code that's already there. Again, this
&lt;br&gt;could be a lot more extensible than it is (e.g. it only allows for id
&lt;br&gt;and not class or other arbitrary decorators).
&lt;br&gt;&lt;br&gt;Here is the use case that will give the desired output in my previous
&lt;br&gt;email (id attribute on optgroup elements):
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $optgroupTest = new Zend_Form_Element_Select('optgroup_test');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $options = array (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'id' &amp;nbsp; &amp;nbsp;=&amp;gt; 'option_group_1',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'label' =&amp;gt; 'Option Group 1',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'options' =&amp;gt; array (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'A' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option A',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'B' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option B',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'C' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option C',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'id' &amp;nbsp; &amp;nbsp;=&amp;gt; 'option_group_2',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'label' =&amp;gt; 'Option Group 2',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'options' =&amp;gt; array (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'D' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option D',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $optgroupTest
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;gt;setLabel('Optgroup Test')
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;gt;addMultiOptions(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $options
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;
&lt;br&gt;&lt;br&gt;Here is the patch against Zend Framework 1.9.5 (tags/release-1.9.5)
&lt;br&gt;that will make the above use case work (patch attached as well):
&lt;br&gt;&lt;br&gt;Index: View/Helper/FormSelect.php
&lt;br&gt;===================================================================
&lt;br&gt;--- View/Helper/FormSelect.php	(revision 18900)
&lt;br&gt;+++ View/Helper/FormSelect.php	(working copy)
&lt;br&gt;@@ -116,6 +116,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$translator = $this-&amp;gt;getTranslator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach ((array) $options as $opt_value =&amp;gt; $opt_label) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (is_array($opt_label)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_id = '';
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (is_integer($opt_value)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_array = $opt_label;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (array_key_exists('id', $opt_array)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_id = ' id=&amp;quot;' . $opt_array['id'] . '&amp;quot;';
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_value = $opt_array['label'];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_label = $opt_array['options'];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_disable = '';
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (is_array($disable) &amp;&amp; in_array($opt_value, $disable)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_disable = ' disabled=&amp;quot;disabled&amp;quot;';
&lt;br&gt;@@ -124,6 +133,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$opt_value = $translator-&amp;gt;translate($opt_value);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$list[] = '&amp;lt;optgroup'
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. $opt_id
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. $opt_disable
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;. ' label=&amp;quot;' . $this-&amp;gt;view-&amp;gt;escape($opt_value) .'&amp;quot;&amp;gt;';
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach ($opt_label as $val =&amp;gt; $lab) {
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Bradley
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;FormSelect.patch&lt;/strong&gt; (1K) &lt;a href=&quot;http://old.nabble.com/attachment/26256425/0/FormSelect.patch&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/optgroup-class-or-id-tp26255904p26256425.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26255904</id>
	<title>optgroup class or id</title>
	<published>2009-11-08T09:34:03Z</published>
	<updated>2009-11-08T09:34:03Z</updated>
	<author>
		<name>bradley.holt</name>
	</author>
	<content type="html">I'm trying to create a Zend_Form_Element_Select with option groups
&lt;br&gt;(optgroup) that each have their own class or id (preferably id). Is
&lt;br&gt;there a way to do this? I need to be able to select specific optgroups
&lt;br&gt;in JavaScript to enable/disable them which is why I need an id or
&lt;br&gt;class (selecting on label would be a messy hack). Here is code similar
&lt;br&gt;to what I'm using:
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $optgroupTest = new Zend_Form_Element_Select('optgroup_test');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $options = array (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Option Group 1' &amp;nbsp; &amp;nbsp;=&amp;gt; array (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'A' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option A',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'B' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option B',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'C' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option C',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Option Group 2' &amp;nbsp; &amp;nbsp;=&amp;gt; array (
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'D' &amp;nbsp; &amp;nbsp; =&amp;gt; 'Option D',
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $optgroupTest
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;gt;setLabel('Optgroup Test')
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;gt;addMultiOptions(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $options
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;The corresponding output:
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;&amp;lt;select name=&amp;quot;optgroup_test&amp;quot; id=&amp;quot;optgroup_test&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;optgroup label=&amp;quot;Option Group 1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option value=&amp;quot;A&amp;quot; label=&amp;quot;Option A&amp;quot;&amp;gt;Option A&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option value=&amp;quot;B&amp;quot; label=&amp;quot;Option B&amp;quot;&amp;gt;Option B&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option value=&amp;quot;C&amp;quot; label=&amp;quot;Option C&amp;quot;&amp;gt;Option C&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/optgroup&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;optgroup label=&amp;quot;Option Group 2&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option value=&amp;quot;D&amp;quot; label=&amp;quot;Option D&amp;quot;&amp;gt;Option D&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/optgroup&amp;gt;
&lt;br&gt;&amp;lt;/select&amp;gt;
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;The desired output (note the id on the two optgroup elements):
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;&amp;lt;select name=&amp;quot;optgroup_test&amp;quot; id=&amp;quot;optgroup_test&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;optgroup label=&amp;quot;Option Group 1&amp;quot; id=&amp;quot;option_group_1&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option value=&amp;quot;A&amp;quot; label=&amp;quot;Option A&amp;quot;&amp;gt;Option A&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option value=&amp;quot;B&amp;quot; label=&amp;quot;Option B&amp;quot;&amp;gt;Option B&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option value=&amp;quot;C&amp;quot; label=&amp;quot;Option C&amp;quot;&amp;gt;Option C&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/optgroup&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;optgroup label=&amp;quot;Option Group 2&amp;quot; id=&amp;quot;option_group_2&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;option value=&amp;quot;D&amp;quot; label=&amp;quot;Option D&amp;quot;&amp;gt;Option D&amp;lt;/option&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/optgroup&amp;gt;
&lt;br&gt;&amp;lt;/select&amp;gt;
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Is there any way with Zend_Form_Element_Select to get this desired
&lt;br&gt;output? As I said before, either an id or class on optgroup elements
&lt;br&gt;would be acceptable.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Bradley
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/optgroup-class-or-id-tp26255904p26255904.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26248171</id>
	<title>Re: Zend Autloader Throwing Exceptions</title>
	<published>2009-11-07T12:12:40Z</published>
	<updated>2009-11-07T12:12:40Z</updated>
	<author>
		<name>weierophinney</name>
	</author>
	<content type="html">-- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;(on Saturday, 07 November 2009, 12:48 PM -0500):
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; That makes sense, but in the situation I had previously, the exception
&lt;br&gt;&amp;gt; was making it through to my code. &amp;nbsp;When I tried to catch it, it
&lt;br&gt;&amp;gt; wouldn't catch.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; for example:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; $al = Zend_Loader_Autloader::getInstance();
&lt;br&gt;&amp;gt; $al-&amp;gt;suppressNotFoundWarnings( true );
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; try {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; $al-&amp;gt;autoload( 'Non_Existing_Class );
&lt;br&gt;&amp;gt; } catch ( Zend_Exception $ ) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; //do nothing
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; was throwing an exception for me.
&lt;/div&gt;&lt;br&gt;I've gone through the code to trace execution, and there's no way
&lt;br&gt;Zend_Loader_Autoloader::autoload() is throwing an exception; if you're
&lt;br&gt;seeing differently, there's likely something funky with your install, or
&lt;br&gt;the exception is occuring in a place different than you think.
&lt;br&gt;&lt;br&gt;I recommend stepping through execution with a debugger to see when and
&lt;br&gt;where the exception is being raised.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, Nov 6, 2009 at 2:20 PM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; &amp;gt; (on Friday, 06 November 2009, 01:33 PM -0500):
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Thanks a lot, that worked.  The only modification is to add the @
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; symbol before the `include` in the new autoloader to suppress the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; warnings.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; One question remains, though -- why was I not able to catch the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; exception thrown by Zend's autoloader?  Is it because it uses
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; call_user_func?  I think this needs to be filed as a bug.  I'll do the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; honors if you agree.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Zend_Loader_Autoloader::_autoload() has a try/catch block within it; if
&lt;br&gt;&amp;gt; &amp;gt; an exception occurs during Zend_Loader::loadClass(), it catches the
&lt;br&gt;&amp;gt; &amp;gt; exception and returns boolean false. This was by design; failure to
&lt;br&gt;&amp;gt; &amp;gt; autoload a class is not an exceptional condition. PHP will raise a fatal
&lt;br&gt;&amp;gt; &amp;gt; error later if the class is not found, but there may be other
&lt;br&gt;&amp;gt; &amp;gt; autoloaders registered and executed later that could potentially match
&lt;br&gt;&amp;gt; &amp;gt; the class.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; On Fri, Nov 6, 2009 at 9:34 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; (on Wednesday, 04 November 2009, 11:31 AM -0500):
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Just incase it's useful somehow, here's the full config:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683340&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683340&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; By the way, I'm aware that I shouldn't be registering Doctrine's
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; namespace and instead should push the Doctrine autoloader.  I'm just
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; doing this temporarily until we begin actually leveraging doctrine.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Here is the complete code of the class that's giving me trouble:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683348&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683348&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; I figured it out.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; So, Zend_Loader_Autoloader utilizes Zend_Loader::loadClass() internally
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; to resolve class files. However, I was wrong about how it works -- it
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; *does*, in fact, throw an exception if the class does not exist after it
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; attempted to load it.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Your best bet is to create an additional autoloader that you attach to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Zend_Loader_Autoloader that will attempt to load just your form classes
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; -- and declare them otherwise.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; One way to do that might be as follows:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    class CP_Form_Autoloader
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;        public static function autoload($className)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;        {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;            if (class_exists($className, false)) {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;                return $className;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;            }
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;            $fileName = str_replace('_', '/', $className) . '.php';
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;            if (include($fileName)) {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;                return $className;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;            }
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;            eval(&amp;quot;class $className extends CP_Form { }&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;            return $class;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;        }
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    }
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; You would then register this with the main autoloader as follows:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    $al = Zend_Loader_Autoloader::getInstance();
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    class_exists('CP_Form_Autoloader'); // to ensure it's autoloaded
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;                                        // prior to registration...
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    $al-&amp;gt;pushAutoloader(array('CP_Form_Autoloader', 'autoload'), 'CP_Form_')
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Note the second argument -- this will ensure it only attempts to load
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; classes beginning with 'CP_Form_'.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Do the above in a bootstrap resource, and then modify your CP_Form
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; class's _declareFormClass() method as follows:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    protected function _declareFormClass($formName)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;        $class = 'CP_Form_' . $formName;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;        return $class;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;    }
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; and that *should* get you going.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; And here's the complete source of the controller where that code is being run:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683344&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683344&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; On Wed, Nov 4, 2009 at 11:22 AM, A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hey Matthew,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Thanks for the explanation.  I assumed since the error had
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;quot;Zend_Exception&amp;quot; in it, that it was actually an exception being
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; thrown.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Zend_Version::VERSION == '1.9.3'
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The code in the pastie is literally the only code that ever does
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; anything with the autoloader.  This is a new project, and other than
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; some boilerplate controller code, this is the first few lines of code
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; that have been typed.  The only other modifications are adding the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; namespaces to the autoloader, using the built-in method through the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; application configuration:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; autoloaderNamespaces.cp            = &amp;quot;CP_&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; autoloaderNamespaces.doctrine = &amp;quot;Doctrine_&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; It's also strange that the error is not being suppressed by the @ symbol.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; On Wed, Nov 4, 2009 at 8:57 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aj@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; (on Tuesday, 03 November 2009, 07:59 PM -0500):
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm trying to supress errors with the Zend Autoloader, but it's still
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; throwing them.  In this specific case, I'm dynamically ceating a class
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if it doesn't already exist.  I'm calling suppressNotFoundWarnings(
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; true ).
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Here's my code:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/682603&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/682603&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On line 13, I'm getting a Zend_Exception saying that CP/Form/Login.php
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; not found and CP_Form_Login does not exist.  Here's that line:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if( @$autoloader-&amp;gt;autoload( $class ) ) {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; even wrapping it in a Try/Catch doesn't catch the exception.  The best
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; part is that further down in the code, the class is still declared,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and the code continues to run.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; the CP_ namespace is registered to the autoloader at bootstrap.  (I
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; confirmed this through debugging).
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; You're confusing exceptions with errors. Zend_Loader_Autoloader does not
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; throw exceptions within its autoload() method (it's considered a bad
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; practice, and PHP itself behaves badly when it happens); this is why the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; try/catch does not work. What's actually happening is that PHP's
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; include() function is raising a PHP warning when it can't find the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; related file in question.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; What *is* odd to me is that the autoloader is not suppressing the errors
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; when you've specifically requested it do so. I've just tried this
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; locally with the following:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    $autoloader-&amp;gt;suppressNotFoundWarnings(true);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    if (!$autoloader-&amp;gt;autoload('Zend_Foo_Bar')) {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;        echo 'Not found';
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;        exit;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    }
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    echo 'Found';
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; With the warnings suppressed, it works as expected; without, I get
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; the PHP warning, again, as expected.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; So, a few questions:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * What version of ZF are you using?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * Can you provide *all* code indicating how you've configured the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   autoloader?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * Is the &amp;quot;CP_&amp;quot; namespace registered with the autoloader? If not, do you
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   have another autoloader registered that would be handling it?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Based on what you've presented, I have to assume that there's some other
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; configuration issue that's leading to the error.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Matthew Weier O'Phinney
&lt;br&gt;Project Lead &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248171&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;Zend Framework &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Autloader-Throwing-Exceptions-tp26189433p26248171.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26248129</id>
	<title>Re: Zend + MVC + Dojo pane ?</title>
	<published>2009-11-07T12:08:51Z</published>
	<updated>2009-11-07T12:08:51Z</updated>
	<author>
		<name>weierophinney</name>
	</author>
	<content type="html">-- forst &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248129&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fredforst@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;(on Friday, 06 November 2009, 01:26 PM -0800):
&lt;br&gt;&amp;gt; I'm trying to create a web page using a MVC model (Zend) and some of
&lt;br&gt;&amp;gt; Dojo/Dijit 's features. My layout is pretty heavy to load each time so I
&lt;br&gt;&amp;gt; would know if possible to only load each view content ; when a link is
&lt;br&gt;&amp;gt; clicked ; into a dojox ContentPane ?
&lt;br&gt;&lt;br&gt;You have two options.
&lt;br&gt;&lt;br&gt;First, Dojo offers facilities for creating custom builds. A build
&lt;br&gt;inters all Dojo files into a single file, and does a variety of
&lt;br&gt;compression mechanisms on it (removes whitespace and comments, does some
&lt;br&gt;heuristics on variable names, etc.). This can have a *huge* impact on
&lt;br&gt;your application. However, it's only recommended for production, as
&lt;br&gt;often during development you will benefit from the use-at-will nature of
&lt;br&gt;Dojo. For more information on this, see this section of the manual:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://framework.zend.com/manual/en/zend.dojo.build-layers.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/manual/en/zend.dojo.build-layers.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;If you want to use XHR calls to populate dojo panes, it's entirely
&lt;br&gt;possible. You will need to intercept links to instead perform XHR calls,
&lt;br&gt;and then have the markup returned fill the content pane. There are
&lt;br&gt;several examples of this in the Dojo documentation (particularly in the
&lt;br&gt;ContentPane docs); I recommend going there for more information.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Matthew Weier O'Phinney
&lt;br&gt;Project Lead &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248129&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;Zend Framework &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-%2B-MVC-%2B-Dojo-pane---tp26230902p26248129.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26247013</id>
	<title>Re: Zend Autloader Throwing Exceptions</title>
	<published>2009-11-07T09:48:52Z</published>
	<updated>2009-11-07T09:48:52Z</updated>
	<author>
		<name>A.J. Brown-3</name>
	</author>
	<content type="html">That makes sense, but in the situation I had previously, the exception
&lt;br&gt;was making it through to my code. &amp;nbsp;When I tried to catch it, it
&lt;br&gt;wouldn't catch.
&lt;br&gt;&lt;br&gt;for example:
&lt;br&gt;&lt;br&gt;$al = Zend_Loader_Autloader::getInstance();
&lt;br&gt;$al-&amp;gt;suppressNotFoundWarnings( true );
&lt;br&gt;&lt;br&gt;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; $al-&amp;gt;autoload( 'Non_Existing_Class );
&lt;br&gt;} catch ( Zend_Exception $ ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; //do nothing
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;was throwing an exception for me.
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Fri, Nov 6, 2009 at 2:20 PM, Matthew Weier O'Phinney
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; (on Friday, 06 November 2009, 01:33 PM -0500):
&lt;br&gt;&amp;gt;&amp;gt; Thanks a lot, that worked.  The only modification is to add the @
&lt;br&gt;&amp;gt;&amp;gt; symbol before the `include` in the new autoloader to suppress the
&lt;br&gt;&amp;gt;&amp;gt; warnings.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; One question remains, though -- why was I not able to catch the
&lt;br&gt;&amp;gt;&amp;gt; exception thrown by Zend's autoloader?  Is it because it uses
&lt;br&gt;&amp;gt;&amp;gt; call_user_func?  I think this needs to be filed as a bug.  I'll do the
&lt;br&gt;&amp;gt;&amp;gt; honors if you agree.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Zend_Loader_Autoloader::_autoload() has a try/catch block within it; if
&lt;br&gt;&amp;gt; an exception occurs during Zend_Loader::loadClass(), it catches the
&lt;br&gt;&amp;gt; exception and returns boolean false. This was by design; failure to
&lt;br&gt;&amp;gt; autoload a class is not an exceptional condition. PHP will raise a fatal
&lt;br&gt;&amp;gt; error later if the class is not found, but there may be other
&lt;br&gt;&amp;gt; autoloaders registered and executed later that could potentially match
&lt;br&gt;&amp;gt; the class.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Fri, Nov 6, 2009 at 9:34 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; (on Wednesday, 04 November 2009, 11:31 AM -0500):
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Just incase it's useful somehow, here's the full config:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683340&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683340&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; By the way, I'm aware that I shouldn't be registering Doctrine's
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; namespace and instead should push the Doctrine autoloader.  I'm just
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; doing this temporarily until we begin actually leveraging doctrine.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Here is the complete code of the class that's giving me trouble:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683348&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683348&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I figured it out.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; So, Zend_Loader_Autoloader utilizes Zend_Loader::loadClass() internally
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; to resolve class files. However, I was wrong about how it works -- it
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; *does*, in fact, throw an exception if the class does not exist after it
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; attempted to load it.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Your best bet is to create an additional autoloader that you attach to
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Zend_Loader_Autoloader that will attempt to load just your form classes
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; -- and declare them otherwise.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; One way to do that might be as follows:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    class CP_Form_Autoloader
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;        public static function autoload($className)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;        {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;            if (class_exists($className, false)) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;                return $className;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;            }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;            $fileName = str_replace('_', '/', $className) . '.php';
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;            if (include($fileName)) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;                return $className;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;            }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;            eval(&amp;quot;class $className extends CP_Form { }&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;            return $class;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;        }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; You would then register this with the main autoloader as follows:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    $al = Zend_Loader_Autoloader::getInstance();
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    class_exists('CP_Form_Autoloader'); // to ensure it's autoloaded
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;                                        // prior to registration...
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    $al-&amp;gt;pushAutoloader(array('CP_Form_Autoloader', 'autoload'), 'CP_Form_')
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Note the second argument -- this will ensure it only attempts to load
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; classes beginning with 'CP_Form_'.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Do the above in a bootstrap resource, and then modify your CP_Form
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; class's _declareFormClass() method as follows:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    protected function _declareFormClass($formName)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;        $class = 'CP_Form_' . $formName;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;        return $class;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;    }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; and that *should* get you going.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; And here's the complete source of the controller where that code is being run:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683344&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683344&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; On Wed, Nov 4, 2009 at 11:22 AM, A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hey Matthew,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Thanks for the explanation.  I assumed since the error had
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;quot;Zend_Exception&amp;quot; in it, that it was actually an exception being
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; thrown.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Zend_Version::VERSION == '1.9.3'
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The code in the pastie is literally the only code that ever does
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; anything with the autoloader.  This is a new project, and other than
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; some boilerplate controller code, this is the first few lines of code
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; that have been typed.  The only other modifications are adding the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; namespaces to the autoloader, using the built-in method through the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; application configuration:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; autoloaderNamespaces.cp            = &amp;quot;CP_&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; autoloaderNamespaces.doctrine = &amp;quot;Doctrine_&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; It's also strange that the error is not being suppressed by the @ symbol.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; On Wed, Nov 4, 2009 at 8:57 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aj@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; (on Tuesday, 03 November 2009, 07:59 PM -0500):
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm trying to supress errors with the Zend Autoloader, but it's still
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; throwing them.  In this specific case, I'm dynamically ceating a class
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if it doesn't already exist.  I'm calling suppressNotFoundWarnings(
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; true ).
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Here's my code:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/682603&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/682603&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On line 13, I'm getting a Zend_Exception saying that CP/Form/Login.php
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; not found and CP_Form_Login does not exist.  Here's that line:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if( @$autoloader-&amp;gt;autoload( $class ) ) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; even wrapping it in a Try/Catch doesn't catch the exception.  The best
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; part is that further down in the code, the class is still declared,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and the code continues to run.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; the CP_ namespace is registered to the autoloader at bootstrap.  (I
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; confirmed this through debugging).
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; You're confusing exceptions with errors. Zend_Loader_Autoloader does not
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; throw exceptions within its autoload() method (it's considered a bad
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; practice, and PHP itself behaves badly when it happens); this is why the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; try/catch does not work. What's actually happening is that PHP's
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; include() function is raising a PHP warning when it can't find the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; related file in question.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; What *is* odd to me is that the autoloader is not suppressing the errors
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; when you've specifically requested it do so. I've just tried this
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; locally with the following:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    $autoloader-&amp;gt;suppressNotFoundWarnings(true);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    if (!$autoloader-&amp;gt;autoload('Zend_Foo_Bar')) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;        echo 'Not found';
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;        exit;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    echo 'Found';
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; With the warnings suppressed, it works as expected; without, I get
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; the PHP warning, again, as expected.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; So, a few questions:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * What version of ZF are you using?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * Can you provide *all* code indicating how you've configured the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   autoloader?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * Is the &amp;quot;CP_&amp;quot; namespace registered with the autoloader? If not, do you
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   have another autoloader registered that would be handling it?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Based on what you've presented, I have to assume that there's some other
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; configuration issue that's leading to the error.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; A.J. Brown
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247013&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;A.J. Brown
&lt;br&gt;web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;phone | (937) 660-3969
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Autloader-Throwing-Exceptions-tp26189433p26247013.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26248186</id>
	<title>Re: mysqlnd cannot connect to MySQL 4.1+ using old  authentication</title>
	<published>2009-11-07T06:38:50Z</published>
	<updated>2009-11-07T06:38:50Z</updated>
	<author>
		<name>Johannes Schill</name>
	</author>
	<content type="html">I suppose this is not the whole truth since the server is running Mysql 4.1.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Johannes&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/4 Karol Grecki &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248186&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kgrecki@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;&lt;br&gt;
AFAIK all you need is reset your existing password to a new format.&lt;br&gt;
This happened because you upgraded your mysql server to 5.x and passwords&lt;br&gt;
are in 4.x format.&lt;br&gt;
This should be trivial to resolve, unless your database is also accessed by&lt;br&gt;
some outdated clients not supporting the new format.&lt;br&gt;
&lt;br&gt;
Cheers&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;
Johannes Schill wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I got the same error when i upgraded to Snow leopard (OSX 10.6).&lt;br&gt;
&amp;gt; Unfortunately I haven&amp;#39;t managed to fix this in a good way, I installed&lt;br&gt;
&amp;gt; XAMPP&lt;br&gt;
&amp;gt; (&lt;a href=&quot;http://www.apachefriends.org/en/xampp.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.apachefriends.org/en/xampp.html&lt;/a&gt;) to get my environment back up&lt;br&gt;
&amp;gt; running until i find a better solution.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; This problem is not Zend Framework-related.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Cheers,&lt;br&gt;
&amp;gt; Johannes&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 2009/11/3 Goran Juric &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248186&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;goran.juric@...&lt;/a&gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Hi,&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I have been running phpunit tests on PHP 5.3 (on Mac OSX 10.6) and I am&lt;br&gt;
&amp;gt;&amp;gt; getting an error:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Zend_Db_Adapter_Exception: SQLSTATE[HY000] [2000] mysqlnd cannot connect&lt;br&gt;
&amp;gt;&amp;gt; to&lt;br&gt;
&amp;gt;&amp;gt; MySQL 4.1+ using old authentication&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I am using the Zends PDO_MYSQL adapter and the MySQL server is running&lt;br&gt;
&amp;gt;&amp;gt; version 5.0.86.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Everything works fine on versions prior to PHP 5.3 (because there is no&lt;br&gt;
&amp;gt;&amp;gt; mysqlnd :) ).&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; How to fix this?&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Regards,&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Goran Juric&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://gogs.info/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://gogs.info/&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/mysqlnd-cannot-connect-to-MySQL-4.1%2B-using-old-authentication-tp26160077p26160077.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/mysqlnd-cannot-connect-to-MySQL-4.1%2B-using-old-authentication-tp26160077p26160077.html&lt;/a&gt;&lt;br&gt;

&amp;gt;&amp;gt; Sent from the Zend Framework mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;
&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/mysqlnd-cannot-connect-to-MySQL-4.1%2B-using-old-authentication-tp26160077p26248186.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26240907</id>
	<title>Re: Incredible memory usage on public server, normal on dev server</title>
	<published>2009-11-07T02:56:32Z</published>
	<updated>2009-11-07T02:56:32Z</updated>
	<author>
		<name>jollyr0ger</name>
	</author>
	<content type="html">In HiNii app, the problems are not the data passed by the input fields, because the error appears just showing the page (1 time yes, 1 time no). But afther the sending of the form there are serverside validations.
&lt;br&gt;&lt;br&gt;There is a way to determine where the error appears? The file and the real line of code?</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-dev-server-tp26215767p26240907.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26243386</id>
	<title>Re: &quot;Connect&quot; a form to one created in the view</title>
	<published>2009-11-07T01:55:48Z</published>
	<updated>2009-11-07T01:55:48Z</updated>
	<author>
		<name>Daniel Latter-2</name>
	</author>
	<content type="html">Hi,&lt;br&gt;&lt;br&gt;Why don&amp;#39;t you use a view script decorator?&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://framework.zend.com/manual/en/zend.form.standardDecorators.html#zend.form.standardDecorators.viewScript&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/manual/en/zend.form.standardDecorators.html#zend.form.standardDecorators.viewScript&lt;/a&gt;&lt;br&gt;
&lt;br&gt;This way you will still be able to get the fine-grained control your after.&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/6 Simeon Goranov &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26243386&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;saiman@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hello,&lt;br&gt;
I&amp;#39;ve got this one in my view script index.phtml:&lt;br&gt;
&lt;br&gt;
&amp;lt;h2&amp;gt;Log In&amp;lt;/h2&amp;gt;&lt;br&gt;
&amp;lt;p&amp;gt;&lt;br&gt;
&amp;lt;?php echo $this-&amp;gt;form(&amp;#39;Default_Form_Login&amp;#39;, array(&amp;#39;name&amp;#39; =&amp;gt;&lt;br&gt;
&amp;#39;form_login&amp;#39;, &amp;#39;id&amp;#39; =&amp;gt; &amp;#39;form_login&amp;#39;, &amp;#39;method&amp;#39; =&amp;gt; &amp;#39;post&amp;#39;, &amp;#39;action&amp;#39; =&amp;gt;&lt;br&gt;
$this-&amp;gt;link(&amp;#39;login&amp;#39;, &amp;#39;index&amp;#39;)), false); ?&amp;gt;&lt;br&gt;
Username &amp;lt;br /&amp;gt;&lt;br&gt;
&amp;lt;?php echo $this-&amp;gt;formText(&amp;#39;form_username&amp;#39;);?&amp;gt;&amp;lt;br /&amp;gt;&lt;br&gt;
Password &amp;lt;br /&amp;gt;&lt;br&gt;
&amp;lt;?php echo $this-&amp;gt;formPassword(&amp;#39;form_password&amp;#39;);?&amp;gt;&amp;lt;br /&amp;gt;&lt;br&gt;
&amp;lt;?php echo $this-&amp;gt;formSubmit(&amp;#39;Submit&amp;#39;, &amp;#39;Login&amp;#39;);?&amp;gt;&lt;br&gt;
&amp;lt;/form&amp;gt;&lt;br&gt;
&amp;lt;/p&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
The form up is created with the view helpers and I want to &amp;quot;connect&amp;quot;&lt;br&gt;
this form to one created from the class:&lt;br&gt;
&lt;br&gt;
class Default_Form_Login extends Zend_Form&lt;br&gt;
{&lt;br&gt;
&lt;br&gt;
    public function __construct($options=array())&lt;br&gt;
    {&lt;br&gt;
        parent::__construct($options);&lt;br&gt;
&lt;br&gt;
        $this-&amp;gt;setName(&amp;#39;form_login&amp;#39;);&lt;br&gt;
        $this-&amp;gt;setMethod(&amp;#39;post&amp;#39;);&lt;br&gt;
&lt;br&gt;
        $element = new Zend_Form_Element_Text(&amp;#39;form_username&amp;#39;);&lt;br&gt;
        $element-&amp;gt;setLabel(&amp;#39;Username&amp;#39;);&lt;br&gt;
        $this-&amp;gt;addElement($element);&lt;br&gt;
&lt;br&gt;
        $element = new Zend_Form_Element_Password(&amp;#39;form_password&amp;#39;);&lt;br&gt;
        $element-&amp;gt;setLabel(&amp;#39;Password&amp;#39;);&lt;br&gt;
        $this-&amp;gt;addElement($element);&lt;br&gt;
&lt;br&gt;
        $element = new Zend_Form_Element_Submit(&amp;#39;Login&amp;#39;);&lt;br&gt;
        $this-&amp;gt;addElement($element);&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
So I will be able to use the form in my action in this way:&lt;br&gt;
&lt;br&gt;
public function loginAction()&lt;br&gt;
{&lt;br&gt;
    $form = new Default_Form_Login();&lt;br&gt;
    $result = $form-&amp;gt;getValues();&lt;br&gt;
&lt;br&gt;
Is it possible and how ?&lt;br&gt;
&lt;br&gt;
Regards,&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;S.G.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%22Connect%22-a-form-to-one-created-in-the-view-tp26231509p26243386.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26242830</id>
	<title>Re: &quot;Connect&quot; a form to one created in the view</title>
	<published>2009-11-07T00:06:36Z</published>
	<updated>2009-11-07T00:06:36Z</updated>
	<author>
		<name>Simeon Goranov-3</name>
	</author>
	<content type="html">Thank you for the answer,
&lt;br&gt;I don't use the class, because I want to place the fields and display
&lt;br&gt;the errors in specific way (not in default form class view). That's the
&lt;br&gt;reason to use the view helpers to create the form. But I still need the
&lt;br&gt;form object, because future validation. Thanks again for the answer.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;S.G.
&lt;br&gt;&lt;br&gt;&lt;br&gt;В 19:07 -0500 на 06.11.2009 (пт), Ant Cunningham написа:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Well my first question is - if they are the same thing whay arent you 
&lt;br&gt;&amp;gt; using the class to create the form used in the view you outlined?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Secondly if all the fields have the exact same names/ids then you can 
&lt;br&gt;&amp;gt; just use the form class in your action as described simply using the 
&lt;br&gt;&amp;gt; validate method
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; $form = new Default_Form_Login();
&lt;br&gt;&amp;gt; if($form-&amp;gt;validate($this-&amp;gt;getRequest()-&amp;gt;getPost())
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;$result = $form-&amp;gt;getValues();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;// successful validation logic
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; or if you dont want/need to validate...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; $form = new Default_Form_Login();
&lt;br&gt;&amp;gt; $form-&amp;gt;populate($this-&amp;gt;getRequest()-&amp;gt;getPost());
&lt;br&gt;&amp;gt; $result = $form-&amp;gt;getValues();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Although with the latter i dont undrestand why youd bother running it 
&lt;br&gt;&amp;gt; through the form again unless its for redisplay purposes...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Simeon Goranov wrote:
&lt;br&gt;&amp;gt; &amp;gt; Hello,
&lt;br&gt;&amp;gt; &amp;gt; I've got this one in my view script index.phtml:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;h2&amp;gt;Log In&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;p&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;?php echo $this-&amp;gt;form('Default_Form_Login', array('name' =&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 'form_login', 'id' =&amp;gt; 'form_login', 'method' =&amp;gt; 'post', 'action' =&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; $this-&amp;gt;link('login', 'index')), false); ?&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Username &amp;lt;br /&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;?php echo $this-&amp;gt;formText('form_username');?&amp;gt;&amp;lt;br /&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Password &amp;lt;br /&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;?php echo $this-&amp;gt;formPassword('form_password');?&amp;gt;&amp;lt;br /&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;?php echo $this-&amp;gt;formSubmit('Submit', 'Login');?&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;/form&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;/p&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; The form up is created with the view helpers and I want to &amp;quot;connect&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt; this form to one created from the class:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; class Default_Form_Login extends Zend_Form
&lt;br&gt;&amp;gt; &amp;gt; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; public function __construct($options=array())
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parent::__construct($options);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;setName('form_login');
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;setMethod('post');
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Text('form_username');
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element-&amp;gt;setLabel('Username');
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Password('form_password');
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element-&amp;gt;setLabel('Password');
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Submit('Login');
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; So I will be able to use the form in my action in this way:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; public function loginAction()
&lt;br&gt;&amp;gt; &amp;gt; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; $form = new Default_Form_Login();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; $result = $form-&amp;gt;getValues();
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Is it possible and how ?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Regards,
&lt;br&gt;&amp;gt; &amp;gt; S.G.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%22Connect%22-a-form-to-one-created-in-the-view-tp26231509p26242830.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26248181</id>
	<title>Re: &quot;Connect&quot; a form to one created in the view</title>
	<published>2009-11-06T16:07:01Z</published>
	<updated>2009-11-06T16:07:01Z</updated>
	<author>
		<name>prodigitalson</name>
	</author>
	<content type="html">Well my first question is - if they are the same thing whay arent you 
&lt;br&gt;using the class to create the form used in the view you outlined?
&lt;br&gt;&lt;br&gt;Secondly if all the fields have the exact same names/ids then you can 
&lt;br&gt;just use the form class in your action as described simply using the 
&lt;br&gt;validate method
&lt;br&gt;&lt;br&gt;$form = new Default_Form_Login();
&lt;br&gt;if($form-&amp;gt;validate($this-&amp;gt;getRequest()-&amp;gt;getPost())
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;$result = $form-&amp;gt;getValues();
&lt;br&gt;&amp;nbsp; &amp;nbsp;// successful validation logic
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;or if you dont want/need to validate...
&lt;br&gt;&lt;br&gt;&lt;br&gt;$form = new Default_Form_Login();
&lt;br&gt;$form-&amp;gt;populate($this-&amp;gt;getRequest()-&amp;gt;getPost());
&lt;br&gt;$result = $form-&amp;gt;getValues();
&lt;br&gt;&lt;br&gt;Although with the latter i dont undrestand why youd bother running it 
&lt;br&gt;through the form again unless its for redisplay purposes...
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Simeon Goranov wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; I've got this one in my view script index.phtml:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;h2&amp;gt;Log In&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;p&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;?php echo $this-&amp;gt;form('Default_Form_Login', array('name' =&amp;gt;
&lt;br&gt;&amp;gt; 'form_login', 'id' =&amp;gt; 'form_login', 'method' =&amp;gt; 'post', 'action' =&amp;gt;
&lt;br&gt;&amp;gt; $this-&amp;gt;link('login', 'index')), false); ?&amp;gt;
&lt;br&gt;&amp;gt; Username &amp;lt;br /&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;?php echo $this-&amp;gt;formText('form_username');?&amp;gt;&amp;lt;br /&amp;gt;
&lt;br&gt;&amp;gt; Password &amp;lt;br /&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;?php echo $this-&amp;gt;formPassword('form_password');?&amp;gt;&amp;lt;br /&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;?php echo $this-&amp;gt;formSubmit('Submit', 'Login');?&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/form&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/p&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The form up is created with the view helpers and I want to &amp;quot;connect&amp;quot;
&lt;br&gt;&amp;gt; this form to one created from the class:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; class Default_Form_Login extends Zend_Form
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; public function __construct($options=array())
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parent::__construct($options);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;setName('form_login');
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;setMethod('post');
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Text('form_username');
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element-&amp;gt;setLabel('Username');
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Password('form_password');
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element-&amp;gt;setLabel('Password');
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Submit('Login');
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So I will be able to use the form in my action in this way:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; public function loginAction()
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; $form = new Default_Form_Login();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; $result = $form-&amp;gt;getValues();
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is it possible and how ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; S.G.
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%22Connect%22-a-form-to-one-created-in-the-view-tp26231509p26248181.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26248177</id>
	<title>Re: Incredible memory usage on public server, normal on dev server</title>
	<published>2009-11-06T15:01:41Z</published>
	<updated>2009-11-06T15:01:41Z</updated>
	<author>
		<name>fab2008</name>
	</author>
	<content type="html">&lt;br&gt;Il giorno 06/nov/2009, alle ore 22.59, Kevin McArthur ha scritto:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Ralph, normally you'd be right, but since that allocation is 500 &amp;nbsp;
&lt;br&gt;&amp;gt; megs in one-shot. It should be near the code that is the problem. &amp;nbsp;
&lt;br&gt;&amp;gt; Would have to see what he's doing but im guessing a massive &amp;nbsp;
&lt;br&gt;&amp;gt; attachment?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If it was a pecked-to-death-by-ducks thing, you'd see a message &amp;nbsp;
&lt;br&gt;&amp;gt; saying &amp;quot;Fatal error: Allowed memory size of 67108864 bytes exhausted &amp;nbsp;
&lt;br&gt;&amp;gt; (tried to
&lt;br&gt;&amp;gt; allocate 16 bytes) in Unknown on line 0&amp;quot; or something similar, with &amp;nbsp;
&lt;br&gt;&amp;gt; a low byte count.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Looking at the file at line ~284 it appears thats where the email &amp;nbsp;
&lt;br&gt;&amp;gt; finally gets sent, and logged. To debug, check the size of $request &amp;nbsp;
&lt;br&gt;&amp;gt; at that point. If its huge, you have your error.
&lt;/div&gt;&lt;br&gt;For the records, I run my script with a debugger and I set a &amp;nbsp;
&lt;br&gt;conditional breakpoint in the _send method with strlen($request) &amp;gt; 75 &amp;nbsp;
&lt;br&gt;as condition and the script was never halted...
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Fabio Napoleoni
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248177&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;f.napoleoni@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;quot;Computer Science is no more about computers than astronomy is
&lt;br&gt;about telescopes&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Edsger W. Dijkstra
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-dev-server-tp26215767p26248177.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26248175</id>
	<title>Re: Incredible memory usage on public server, normal on dev server</title>
	<published>2009-11-06T14:47:01Z</published>
	<updated>2009-11-06T14:47:01Z</updated>
	<author>
		<name>fab2008</name>
	</author>
	<content type="html">&lt;br&gt;Il giorno 06/nov/2009, alle ore 22.59, Kevin McArthur ha scritto:
&lt;br&gt;&lt;br&gt;&amp;gt; Ralph, normally you'd be right, but since that allocation is 500 &amp;nbsp;
&lt;br&gt;&amp;gt; megs in one-shot. It should be near the code that is the problem. &amp;nbsp;
&lt;br&gt;&amp;gt; Would have to see what he's doing but im guessing a massive &amp;nbsp;
&lt;br&gt;&amp;gt; attachment?
&lt;br&gt;&lt;br&gt;There is no attachment in my emails, it is a cli script invoked by a &amp;nbsp;
&lt;br&gt;cronjob that sends a newsletter to about 800 users, each message is &amp;nbsp;
&lt;br&gt;~80KB. The algorithm is this:
&lt;br&gt;&lt;br&gt;1) Fetch users from db
&lt;br&gt;2) Instantiate a Zend_View object
&lt;br&gt;3) Instantiate a Zend_Mail object
&lt;br&gt;4) For each users as u
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4.1) Render the view with u as model
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4.2) Set to address to u.email
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4.3) Set html body to the rendered view
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4.4) clear the addresses in the email
&lt;br&gt;end for.
&lt;br&gt;&lt;br&gt;&amp;gt; If it was a pecked-to-death-by-ducks thing, you'd see a message &amp;nbsp;
&lt;br&gt;&amp;gt; saying &amp;quot;Fatal error: Allowed memory size of 67108864 bytes exhausted &amp;nbsp;
&lt;br&gt;&amp;gt; (tried to
&lt;br&gt;&amp;gt; allocate 16 bytes) in Unknown on line 0&amp;quot; or something similar, with &amp;nbsp;
&lt;br&gt;&amp;gt; a low byte count.
&lt;br&gt;&lt;br&gt;In fact IMHO that's the actual problem, the one-shot allocation (in my &amp;nbsp;
&lt;br&gt;case 130MB, in the other case 500MB).
&lt;br&gt;&lt;br&gt;&amp;gt; Looking at the file at line ~284 it appears thats where the email &amp;nbsp;
&lt;br&gt;&amp;gt; finally gets sent, and logged. To debug, check the size of $request &amp;nbsp;
&lt;br&gt;&amp;gt; at that point. If its huge, you have your error.
&lt;br&gt;&lt;br&gt;I read some code, emails are sent by _sendMail function in &amp;nbsp;
&lt;br&gt;Zend_Mail_Transport_Smtp which calls data method in &amp;nbsp;
&lt;br&gt;Zend_Mail_Protocol_Smtp. This method calls the _send function but it &amp;nbsp;
&lt;br&gt;breaks lines (line 315) so the _send argument should never be huge, &amp;nbsp;
&lt;br&gt;because it's encoded by Zend_Mail and it should be broken in small &amp;nbsp;
&lt;br&gt;lines.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Fabio Napoleoni
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26248175&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;f.napoleoni@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&amp;quot;Computer Science is no more about computers than astronomy is
&lt;br&gt;about telescopes&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Edsger W. Dijkstra
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-dev-server-tp26215767p26248175.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26239226</id>
	<title>Re: Incredible memory usage on public server, normal on dev server</title>
	<published>2009-11-06T13:59:43Z</published>
	<updated>2009-11-06T13:59:43Z</updated>
	<author>
		<name>Kevin McArthur-2</name>
	</author>
	<content type="html">Ralph, normally you'd be right, but since that allocation is 500 megs in 
&lt;br&gt;one-shot. It should be near the code that is the problem. Would have to 
&lt;br&gt;see what he's doing but im guessing a massive attachment?
&lt;br&gt;&lt;br&gt;If it was a pecked-to-death-by-ducks thing, you'd see a message saying 
&lt;br&gt;&amp;quot;Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to
&lt;br&gt;allocate 16 bytes) in Unknown on line 0&amp;quot; or something similar, with a 
&lt;br&gt;low byte count.
&lt;br&gt;&lt;br&gt;Looking at the file at line ~284 it appears thats where the email 
&lt;br&gt;finally gets sent, and logged. To debug, check the size of $request at 
&lt;br&gt;that point. If its huge, you have your error.
&lt;br&gt;&lt;br&gt;K
&lt;br&gt;&lt;br&gt;Ralph Schindler wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; One thing to keep in mind... Just because the request is running out 
&lt;br&gt;&amp;gt; of memory on that line does not mean that it is that 
&lt;br&gt;&amp;gt; file/line/execution that is the culprit. &amp;nbsp;It only means that the like 
&lt;br&gt;&amp;gt; mentioned is where you have run out of memory.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This basically means that any process before that line could be the 
&lt;br&gt;&amp;gt; problematic code. &amp;nbsp;I would try to profile your applicaion, or even 
&lt;br&gt;&amp;gt; perhaps see if you are attempting to retrieve a large dataset before 
&lt;br&gt;&amp;gt; spinning off a mail? &amp;nbsp;Perhaps you have Zend_Pdf in play creating a 
&lt;br&gt;&amp;gt; large document?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; There are alot of variables here. &amp;nbsp;I would try to find out what part 
&lt;br&gt;&amp;gt; of the process is consuming all the memory.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -ralph
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; fab2008 wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; jollyr0ger wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; my ZF application runs perfectely with 16mb of memory (into php.ini) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; on my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; dev machine.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The same code on the public hosting (limit to 64mb of memory) returns
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; error like:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; allocate 532655056 bytes) in Unknown on line 0&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Try to allocate 500mb of memory! Can't be, it is simply loading the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; login
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; page: &lt;a href=&quot;http://beta.hinii.com/en/auth/login&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://beta.hinii.com/en/auth/login&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I've inserted memory_get_peak_usage() to the end of the request cycle
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (visible now at the end of each page) and it isn't higher than 9-10mb.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I have a similar problem using Zend_Mail, I found a couple of these 
&lt;br&gt;&amp;gt;&amp;gt; messages
&lt;br&gt;&amp;gt;&amp;gt; in my php logfile:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; PHP Fatal error: &amp;nbsp;Allowed memory size of 134217728 bytes exhausted 
&lt;br&gt;&amp;gt;&amp;gt; (tried to
&lt;br&gt;&amp;gt;&amp;gt; allocate 115901301 bytes) in
&lt;br&gt;&amp;gt;&amp;gt; /home/fabio/ZendFramework-1.9.4/library/Zend/Mail/Protocol/Abstract.php 
&lt;br&gt;&amp;gt;&amp;gt; on
&lt;br&gt;&amp;gt;&amp;gt; line 284
&lt;br&gt;&amp;gt;&amp;gt; [04-Nov-2009 14:55:41] PHP Fatal error: &amp;nbsp;Allowed memory size of 
&lt;br&gt;&amp;gt;&amp;gt; 134217728
&lt;br&gt;&amp;gt;&amp;gt; bytes exhausted
&lt;br&gt;&amp;gt;&amp;gt; Now what is strange is that enormous request of memory, how is 
&lt;br&gt;&amp;gt;&amp;gt; possible to
&lt;br&gt;&amp;gt;&amp;gt; ask system for 115MB in a single line of code? Maybe a php bug? Or more
&lt;br&gt;&amp;gt;&amp;gt; likely a bug in php error reporting function. I can't believe that the
&lt;br&gt;&amp;gt;&amp;gt; indicated line asks for 115MB of memory to the system.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; My php version is: # php -v
&lt;br&gt;&amp;gt;&amp;gt; PHP 5.2.6-1+lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009
&lt;br&gt;&amp;gt;&amp;gt; 22:16:23) Copyright (c) 1997-2008 The PHP Group
&lt;br&gt;&amp;gt;&amp;gt; Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; P.s. I tried to trace the error using memory_get_peak_usage() at the 
&lt;br&gt;&amp;gt;&amp;gt; end of
&lt;br&gt;&amp;gt;&amp;gt; my script. When it ends with no errors that function reports only 
&lt;br&gt;&amp;gt;&amp;gt; 20-30MB of
&lt;br&gt;&amp;gt;&amp;gt; ram used.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-dev-server-tp26215767p26239226.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26238941</id>
	<title>Re: Incredible memory usage on public server, normal on dev server</title>
	<published>2009-11-06T13:33:27Z</published>
	<updated>2009-11-06T13:33:27Z</updated>
	<author>
		<name>Ralph Schindler-2</name>
	</author>
	<content type="html">One thing to keep in mind... Just because the request is running out of 
&lt;br&gt;memory on that line does not mean that it is that file/line/execution 
&lt;br&gt;that is the culprit. &amp;nbsp;It only means that the like mentioned is where you 
&lt;br&gt;have run out of memory.
&lt;br&gt;&lt;br&gt;This basically means that any process before that line could be the 
&lt;br&gt;problematic code. &amp;nbsp;I would try to profile your applicaion, or even 
&lt;br&gt;perhaps see if you are attempting to retrieve a large dataset before 
&lt;br&gt;spinning off a mail? &amp;nbsp;Perhaps you have Zend_Pdf in play creating a large 
&lt;br&gt;document?
&lt;br&gt;&lt;br&gt;There are alot of variables here. &amp;nbsp;I would try to find out what part of 
&lt;br&gt;the process is consuming all the memory.
&lt;br&gt;&lt;br&gt;-ralph
&lt;br&gt;&lt;br&gt;fab2008 wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; jollyr0ger wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt; my ZF application runs perfectely with 16mb of memory (into php.ini) on my
&lt;br&gt;&amp;gt;&amp;gt; dev machine.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The same code on the public hosting (limit to 64mb of memory) returns
&lt;br&gt;&amp;gt;&amp;gt; error like:
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to
&lt;br&gt;&amp;gt;&amp;gt; allocate 532655056 bytes) in Unknown on line 0&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Try to allocate 500mb of memory! Can't be, it is simply loading the login
&lt;br&gt;&amp;gt;&amp;gt; page: &lt;a href=&quot;http://beta.hinii.com/en/auth/login&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://beta.hinii.com/en/auth/login&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I've inserted memory_get_peak_usage() to the end of the request cycle
&lt;br&gt;&amp;gt;&amp;gt; (visible now at the end of each page) and it isn't higher than 9-10mb.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have a similar problem using Zend_Mail, I found a couple of these messages
&lt;br&gt;&amp;gt; in my php logfile:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; PHP Fatal error: &amp;nbsp;Allowed memory size of 134217728 bytes exhausted (tried to
&lt;br&gt;&amp;gt; allocate 115901301 bytes) in
&lt;br&gt;&amp;gt; /home/fabio/ZendFramework-1.9.4/library/Zend/Mail/Protocol/Abstract.php on
&lt;br&gt;&amp;gt; line 284
&lt;br&gt;&amp;gt; [04-Nov-2009 14:55:41] PHP Fatal error: &amp;nbsp;Allowed memory size of 134217728
&lt;br&gt;&amp;gt; bytes exhausted 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Now what is strange is that enormous request of memory, how is possible to
&lt;br&gt;&amp;gt; ask system for 115MB in a single line of code? Maybe a php bug? Or more
&lt;br&gt;&amp;gt; likely a bug in php error reporting function. I can't believe that the
&lt;br&gt;&amp;gt; indicated line asks for 115MB of memory to the system.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My php version is: 
&lt;br&gt;&amp;gt; # php -v
&lt;br&gt;&amp;gt; PHP 5.2.6-1+lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009
&lt;br&gt;&amp;gt; 22:16:23) 
&lt;br&gt;&amp;gt; Copyright (c) 1997-2008 The PHP Group
&lt;br&gt;&amp;gt; Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; P.s. I tried to trace the error using memory_get_peak_usage() at the end of
&lt;br&gt;&amp;gt; my script. When it ends with no errors that function reports only 20-30MB of
&lt;br&gt;&amp;gt; ram used.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-dev-server-tp26215767p26238941.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26230902</id>
	<title>Zend + MVC + Dojo pane ?</title>
	<published>2009-11-06T13:26:02Z</published>
	<updated>2009-11-06T13:26:02Z</updated>
	<author>
		<name>forst</name>
	</author>
	<content type="html">Hi
&lt;br&gt;I'm trying to create a web page using a MVC model (Zend) and some of Dojo/Dijit 's features. My layout is pretty heavy to load each time so I would know if possible to only load each view content ; when a link is clicked ; into a dojox ContentPane ?
&lt;br&gt;&lt;br&gt;Thanks you</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-%2B-MVC-%2B-Dojo-pane---tp26230902p26230902.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26237867</id>
	<title>Re: Zend_Form and dependency injection</title>
	<published>2009-11-06T12:01:00Z</published>
	<updated>2009-11-06T12:01:00Z</updated>
	<author>
		<name>Hector Virgen</name>
	</author>
	<content type="html">Wow, I had no idea you could do that! Very nice :) I&amp;#39;ll update my form now. Thanks!&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;--&lt;br&gt;Hector&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 6, 2009 at 11:17 AM, Matthew Weier O&amp;#39;Phinney &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237867&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;

-- Hector Virgen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237867&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;djvirgen@...&lt;/a&gt;&amp;gt; wrote&lt;br&gt;
(on Friday, 06 November 2009, 09:05 AM -0800):&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&amp;gt; I am building a search form that contains many fields and options that are&lt;br&gt;
&amp;gt; generated dynamically based on the user. For example, one field is a large&lt;br&gt;
&amp;gt; multiCheckbox that contains a list of &amp;quot;publishers&amp;quot; the user is allowed to&lt;br&gt;
&amp;gt; search through.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; My form extends Zend_Form and does all of its work in init(), meaning I need to&lt;br&gt;
&amp;gt; know which user the form is being built for.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Initially, I had the form pull the current user from the session to build the&lt;br&gt;
&amp;gt; options. This works fine on the web.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; But now I need to unit-test this form (or, more specifically, a service that&lt;br&gt;
&amp;gt; contains a factory method for this form). Since init() is run at the end of&lt;br&gt;
&amp;gt; Zend_Form&amp;#39;s constructor, I am not given an opportunity to inject a user stub&lt;br&gt;
&amp;gt; until after the form has been created (which is too late).&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;Easy way to take care of this: create a setter method for injecting the&lt;br&gt;
user:&lt;br&gt;
&lt;br&gt;
    class My_Form extends Zend_Form&lt;br&gt;
    {&lt;br&gt;
        protected $_user;&lt;br&gt;
&lt;br&gt;
        public function setUser(UserInterface $user)&lt;br&gt;
        {&lt;br&gt;
            $this-&amp;gt;_user = $user;&lt;br&gt;
            return $this;&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
        public function getUser()&lt;br&gt;
        {&lt;br&gt;
            return $this-&amp;gt;_user;&lt;br&gt;
        }&lt;br&gt;
    }&lt;br&gt;
&lt;br&gt;
setOptions(), which is called during __construct(), will check to see if&lt;br&gt;
a given option key matches an existing setter; if so, it passes the&lt;br&gt;
value to that setter. Thus:&lt;br&gt;
&lt;br&gt;
    $form = new My_Form(array(&lt;br&gt;
        &amp;#39;user&amp;#39; =&amp;gt; $user,&lt;br&gt;
    ));&lt;br&gt;
&lt;br&gt;
will now work.&lt;br&gt;
&lt;br&gt;
You can then do some checks later to see if you have a user object or&lt;br&gt;
not, or even have getUser() raise an exception if none has been set --&lt;br&gt;
allowing you to test.&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt; I have a few options here on how to get around this:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; A. Overload Zend_Form&amp;#39;s constructor to add an optional $user param:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public function __construct($options = null, UserInteface $user = null)&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt;     $this-&amp;gt;_user = $user;&lt;br&gt;
&amp;gt;     parent::__construct($options);&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; B. Make my form a dumb container with empty multiCheckbox fields and inject the&lt;br&gt;
&amp;gt; options via a service layer or wrapper class. It would be nice if there was a&lt;br&gt;
&amp;gt; Zend_Form_Interface so that I don&amp;#39;t have to update all of my code that uses&lt;br&gt;
&amp;gt; this form.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; C. Make my form work without a user by ignoring fields that require user&lt;br&gt;
&amp;gt; permissions to populate.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Any suggestions on these approaches? Is there another way to safely inject a&lt;br&gt;
&amp;gt; user stub into Zend_Form or is my form handling too much responsibility by&lt;br&gt;
&amp;gt; checking user permissions? Thanks for the help!&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;Matthew Weier O&amp;#39;Phinney&lt;br&gt;
Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237867&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&lt;br&gt;
Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend_Form-and-dependency-injection-tp26235350p26237867.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26237336</id>
	<title>Re: Zend Autloader Throwing Exceptions</title>
	<published>2009-11-06T11:20:43Z</published>
	<updated>2009-11-06T11:20:43Z</updated>
	<author>
		<name>weierophinney</name>
	</author>
	<content type="html">-- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;(on Friday, 06 November 2009, 01:33 PM -0500):
&lt;br&gt;&amp;gt; Thanks a lot, that worked. &amp;nbsp;The only modification is to add the @
&lt;br&gt;&amp;gt; symbol before the `include` in the new autoloader to suppress the
&lt;br&gt;&amp;gt; warnings.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; One question remains, though -- why was I not able to catch the
&lt;br&gt;&amp;gt; exception thrown by Zend's autoloader? &amp;nbsp;Is it because it uses
&lt;br&gt;&amp;gt; call_user_func? &amp;nbsp;I think this needs to be filed as a bug. &amp;nbsp;I'll do the
&lt;br&gt;&amp;gt; honors if you agree.
&lt;br&gt;&lt;br&gt;Zend_Loader_Autoloader::_autoload() has a try/catch block within it; if
&lt;br&gt;an exception occurs during Zend_Loader::loadClass(), it catches the
&lt;br&gt;exception and returns boolean false. This was by design; failure to
&lt;br&gt;autoload a class is not an exceptional condition. PHP will raise a fatal
&lt;br&gt;error later if the class is not found, but there may be other
&lt;br&gt;autoloaders registered and executed later that could potentially match
&lt;br&gt;the class.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, Nov 6, 2009 at 9:34 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; &amp;gt; (on Wednesday, 04 November 2009, 11:31 AM -0500):
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Just incase it's useful somehow, here's the full config:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683340&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683340&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; By the way, I'm aware that I shouldn't be registering Doctrine's
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; namespace and instead should push the Doctrine autoloader.  I'm just
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; doing this temporarily until we begin actually leveraging doctrine.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Here is the complete code of the class that's giving me trouble:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683348&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683348&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I figured it out.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; So, Zend_Loader_Autoloader utilizes Zend_Loader::loadClass() internally
&lt;br&gt;&amp;gt; &amp;gt; to resolve class files. However, I was wrong about how it works -- it
&lt;br&gt;&amp;gt; &amp;gt; *does*, in fact, throw an exception if the class does not exist after it
&lt;br&gt;&amp;gt; &amp;gt; attempted to load it.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Your best bet is to create an additional autoloader that you attach to
&lt;br&gt;&amp;gt; &amp;gt; Zend_Loader_Autoloader that will attempt to load just your form classes
&lt;br&gt;&amp;gt; &amp;gt; -- and declare them otherwise.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; One way to do that might be as follows:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;    class CP_Form_Autoloader
&lt;br&gt;&amp;gt; &amp;gt;    {
&lt;br&gt;&amp;gt; &amp;gt;        public static function autoload($className)
&lt;br&gt;&amp;gt; &amp;gt;        {
&lt;br&gt;&amp;gt; &amp;gt;            if (class_exists($className, false)) {
&lt;br&gt;&amp;gt; &amp;gt;                return $className;
&lt;br&gt;&amp;gt; &amp;gt;            }
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;            $fileName = str_replace('_', '/', $className) . '.php';
&lt;br&gt;&amp;gt; &amp;gt;            if (include($fileName)) {
&lt;br&gt;&amp;gt; &amp;gt;                return $className;
&lt;br&gt;&amp;gt; &amp;gt;            }
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;            eval(&amp;quot;class $className extends CP_Form { }&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;            return $class;
&lt;br&gt;&amp;gt; &amp;gt;        }
&lt;br&gt;&amp;gt; &amp;gt;    }
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; You would then register this with the main autoloader as follows:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;    $al = Zend_Loader_Autoloader::getInstance();
&lt;br&gt;&amp;gt; &amp;gt;    class_exists('CP_Form_Autoloader'); // to ensure it's autoloaded
&lt;br&gt;&amp;gt; &amp;gt;                                        // prior to registration...
&lt;br&gt;&amp;gt; &amp;gt;    $al-&amp;gt;pushAutoloader(array('CP_Form_Autoloader', 'autoload'), 'CP_Form_')
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Note the second argument -- this will ensure it only attempts to load
&lt;br&gt;&amp;gt; &amp;gt; classes beginning with 'CP_Form_'.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Do the above in a bootstrap resource, and then modify your CP_Form
&lt;br&gt;&amp;gt; &amp;gt; class's _declareFormClass() method as follows:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;    protected function _declareFormClass($formName)
&lt;br&gt;&amp;gt; &amp;gt;    {
&lt;br&gt;&amp;gt; &amp;gt;        $class = 'CP_Form_' . $formName;
&lt;br&gt;&amp;gt; &amp;gt;        return $class;
&lt;br&gt;&amp;gt; &amp;gt;    }
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; and that *should* get you going.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; And here's the complete source of the controller where that code is being run:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683344&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683344&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; On Wed, Nov 4, 2009 at 11:22 AM, A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hey Matthew,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Thanks for the explanation.  I assumed since the error had
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;quot;Zend_Exception&amp;quot; in it, that it was actually an exception being
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; thrown.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Zend_Version::VERSION == '1.9.3'
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The code in the pastie is literally the only code that ever does
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; anything with the autoloader.  This is a new project, and other than
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; some boilerplate controller code, this is the first few lines of code
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; that have been typed.  The only other modifications are adding the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; namespaces to the autoloader, using the built-in method through the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; application configuration:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; autoloaderNamespaces.cp            = &amp;quot;CP_&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; autoloaderNamespaces.doctrine = &amp;quot;Doctrine_&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; It's also strange that the error is not being suppressed by the @ symbol.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; On Wed, Nov 4, 2009 at 8:57 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aj@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; (on Tuesday, 03 November 2009, 07:59 PM -0500):
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm trying to supress errors with the Zend Autoloader, but it's still
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; throwing them.  In this specific case, I'm dynamically ceating a class
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if it doesn't already exist.  I'm calling suppressNotFoundWarnings(
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; true ).
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Here's my code:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/682603&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/682603&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On line 13, I'm getting a Zend_Exception saying that CP/Form/Login.php
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; not found and CP_Form_Login does not exist.  Here's that line:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if( @$autoloader-&amp;gt;autoload( $class ) ) {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; even wrapping it in a Try/Catch doesn't catch the exception.  The best
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; part is that further down in the code, the class is still declared,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and the code continues to run.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; the CP_ namespace is registered to the autoloader at bootstrap.  (I
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; confirmed this through debugging).
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; You're confusing exceptions with errors. Zend_Loader_Autoloader does not
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; throw exceptions within its autoload() method (it's considered a bad
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; practice, and PHP itself behaves badly when it happens); this is why the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; try/catch does not work. What's actually happening is that PHP's
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; include() function is raising a PHP warning when it can't find the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; related file in question.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; What *is* odd to me is that the autoloader is not suppressing the errors
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; when you've specifically requested it do so. I've just tried this
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; locally with the following:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    $autoloader-&amp;gt;suppressNotFoundWarnings(true);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    if (!$autoloader-&amp;gt;autoload('Zend_Foo_Bar')) {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;        echo 'Not found';
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;        exit;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    }
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;    echo 'Found';
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; With the warnings suppressed, it works as expected; without, I get
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; the PHP warning, again, as expected.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; So, a few questions:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * What version of ZF are you using?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * Can you provide *all* code indicating how you've configured the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   autoloader?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;  * Is the &amp;quot;CP_&amp;quot; namespace registered with the autoloader? If not, do you
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   have another autoloader registered that would be handling it?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Based on what you've presented, I have to assume that there's some other
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; configuration issue that's leading to the error.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Matthew Weier O'Phinney
&lt;br&gt;Project Lead &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237336&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;Zend Framework &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Autloader-Throwing-Exceptions-tp26189433p26237336.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26237331</id>
	<title>Re: Zend_Form and dependency injection</title>
	<published>2009-11-06T11:17:41Z</published>
	<updated>2009-11-06T11:17:41Z</updated>
	<author>
		<name>weierophinney</name>
	</author>
	<content type="html">-- Hector Virgen &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237331&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;djvirgen@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;(on Friday, 06 November 2009, 09:05 AM -0800):
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I am building a search form that contains many fields and options that are
&lt;br&gt;&amp;gt; generated dynamically based on the user. For example, one field is a large
&lt;br&gt;&amp;gt; multiCheckbox that contains a list of &amp;quot;publishers&amp;quot; the user is allowed to
&lt;br&gt;&amp;gt; search through.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My form extends Zend_Form and does all of its work in init(), meaning I need to
&lt;br&gt;&amp;gt; know which user the form is being built for.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Initially, I had the form pull the current user from the session to build the
&lt;br&gt;&amp;gt; options. This works fine on the web.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; But now I need to unit-test this form (or, more specifically, a service that
&lt;br&gt;&amp;gt; contains a factory method for this form). Since init() is run at the end of
&lt;br&gt;&amp;gt; Zend_Form's constructor, I am not given an opportunity to inject a user stub
&lt;br&gt;&amp;gt; until after the form has been created (which is too late).
&lt;/div&gt;&lt;br&gt;Easy way to take care of this: create a setter method for injecting the
&lt;br&gt;user:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; class My_Form extends Zend_Form
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected $_user;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public function setUser(UserInterface $user)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;_user = $user;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $this;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public function getUser()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $this-&amp;gt;_user;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;setOptions(), which is called during __construct(), will check to see if
&lt;br&gt;a given option key matches an existing setter; if so, it passes the
&lt;br&gt;value to that setter. Thus:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; $form = new My_Form(array(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'user' =&amp;gt; $user,
&lt;br&gt;&amp;nbsp; &amp;nbsp; ));
&lt;br&gt;&lt;br&gt;will now work. 
&lt;br&gt;&lt;br&gt;You can then do some checks later to see if you have a user object or
&lt;br&gt;not, or even have getUser() raise an exception if none has been set --
&lt;br&gt;allowing you to test.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I have a few options here on how to get around this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; A. Overload Zend_Form's constructor to add an optional $user param:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; public function __construct($options = null, UserInteface $user = null)
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; $this-&amp;gt;_user = $user;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; parent::__construct($options);
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; B. Make my form a dumb container with empty multiCheckbox fields and inject the
&lt;br&gt;&amp;gt; options via a service layer or wrapper class. It would be nice if there was a
&lt;br&gt;&amp;gt; Zend_Form_Interface so that I don't have to update all of my code that uses
&lt;br&gt;&amp;gt; this form.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; C. Make my form work without a user by ignoring fields that require user
&lt;br&gt;&amp;gt; permissions to populate.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any suggestions on these approaches? Is there another way to safely inject a
&lt;br&gt;&amp;gt; user stub into Zend_Form or is my form handling too much responsibility by
&lt;br&gt;&amp;gt; checking user permissions? Thanks for the help!
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Matthew Weier O'Phinney
&lt;br&gt;Project Lead &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26237331&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;Zend Framework &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend_Form-and-dependency-injection-tp26235350p26237331.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26236963</id>
	<title>Re: Zend_Locale</title>
	<published>2009-11-06T10:55:14Z</published>
	<updated>2009-11-06T10:55:14Z</updated>
	<author>
		<name>thomasW</name>
	</author>
	<content type="html">According to manual the registry key 'Zend_Locale' has to be an instance of 
&lt;br&gt;Zend_Locale.
&lt;br&gt;'fr_CA' may be a locale, but it's not an instance of Zend_Locale.
&lt;br&gt;&lt;br&gt;So when you want to change the application wide locale afterwards you need 
&lt;br&gt;to change the instance and not the registry content.
&lt;br&gt;&lt;br&gt;$locale = Zend_Registry::get('Zend_Locale');
&lt;br&gt;$locale-&amp;gt;setLocale('fr_CA');
&lt;br&gt;Zend_Registry::set('Zend_Locale', $locale);
&lt;br&gt;&lt;br&gt;Because giving a string does not overwrite the content of the set instance.
&lt;br&gt;&lt;br&gt;Greetings
&lt;br&gt;Thomas Weidner, I18N Team Leader, Zend Framework
&lt;br&gt;&lt;a href=&quot;http://www.thomasweidner.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.thomasweidner.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;asagala&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236963&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;asagala@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236963&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fw-general@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Friday, November 06, 2009 5:32 PM
&lt;br&gt;Subject: Re: [fw-general] Zend_Locale
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Also tried this
&lt;br&gt;&amp;gt; $locale = new Zend_Locale('fr_CA');
&lt;br&gt;&amp;gt; Zend_Registry::set('Zend_Locale', 'fr_CA');
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; asagala wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I am currently having an issue with Zend_Locale. I am initializing the
&lt;br&gt;&amp;gt;&amp;gt; default in my bootstrap like this
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; protected function _initLocale()
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt; $locale = new Zend_Locale('en_US');
&lt;br&gt;&amp;gt;&amp;gt; Zend_Registry::set('Zend_Locale', $locale);
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; return $locale;
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; and this works fine. However when I try and change the value of the 
&lt;br&gt;&amp;gt;&amp;gt; locale
&lt;br&gt;&amp;gt;&amp;gt; in my controllers the initial value is not overwritten. Here is how I am
&lt;br&gt;&amp;gt;&amp;gt; writting the new value to the Zend_Locale key in my controllers
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Zend_Registry::set('Zend_Locale','fr_CA');
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Anyone have a clue?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; View this message in context: 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/Zend_Locale-tp26230812p26230819.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Zend_Locale-tp26230812p26230819.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the Zend Framework mailing list archive at Nabble.com. 
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend_Locale-tp26230812p26236963.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26236619</id>
	<title>Re: Zend Autloader Throwing Exceptions</title>
	<published>2009-11-06T10:33:24Z</published>
	<updated>2009-11-06T10:33:24Z</updated>
	<author>
		<name>A.J. Brown-3</name>
	</author>
	<content type="html">Hi Matt,
&lt;br&gt;&lt;br&gt;Thanks a lot, that worked. &amp;nbsp;The only modification is to add the @
&lt;br&gt;symbol before the `include` in the new autoloader to suppress the
&lt;br&gt;warnings.
&lt;br&gt;&lt;br&gt;One question remains, though -- why was I not able to catch the
&lt;br&gt;exception thrown by Zend's autoloader? &amp;nbsp;Is it because it uses
&lt;br&gt;call_user_func? &amp;nbsp;I think this needs to be filed as a bug. &amp;nbsp;I'll do the
&lt;br&gt;honors if you agree.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Fri, Nov 6, 2009 at 9:34 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236619&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236619&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; (on Wednesday, 04 November 2009, 11:31 AM -0500):
&lt;br&gt;&amp;gt;&amp;gt; Just incase it's useful somehow, here's the full config:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683340&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683340&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; By the way, I'm aware that I shouldn't be registering Doctrine's
&lt;br&gt;&amp;gt;&amp;gt; namespace and instead should push the Doctrine autoloader.  I'm just
&lt;br&gt;&amp;gt;&amp;gt; doing this temporarily until we begin actually leveraging doctrine.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Here is the complete code of the class that's giving me trouble:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683348&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683348&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I figured it out.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So, Zend_Loader_Autoloader utilizes Zend_Loader::loadClass() internally
&lt;br&gt;&amp;gt; to resolve class files. However, I was wrong about how it works -- it
&lt;br&gt;&amp;gt; *does*, in fact, throw an exception if the class does not exist after it
&lt;br&gt;&amp;gt; attempted to load it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Your best bet is to create an additional autoloader that you attach to
&lt;br&gt;&amp;gt; Zend_Loader_Autoloader that will attempt to load just your form classes
&lt;br&gt;&amp;gt; -- and declare them otherwise.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; One way to do that might be as follows:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    class CP_Form_Autoloader
&lt;br&gt;&amp;gt;    {
&lt;br&gt;&amp;gt;        public static function autoload($className)
&lt;br&gt;&amp;gt;        {
&lt;br&gt;&amp;gt;            if (class_exists($className, false)) {
&lt;br&gt;&amp;gt;                return $className;
&lt;br&gt;&amp;gt;            }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;            $fileName = str_replace('_', '/', $className) . '.php';
&lt;br&gt;&amp;gt;            if (include($fileName)) {
&lt;br&gt;&amp;gt;                return $className;
&lt;br&gt;&amp;gt;            }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;            eval(&amp;quot;class $className extends CP_Form { }&amp;quot;);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;            return $class;
&lt;br&gt;&amp;gt;        }
&lt;br&gt;&amp;gt;    }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You would then register this with the main autoloader as follows:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    $al = Zend_Loader_Autoloader::getInstance();
&lt;br&gt;&amp;gt;    class_exists('CP_Form_Autoloader'); // to ensure it's autoloaded
&lt;br&gt;&amp;gt;                                        // prior to registration...
&lt;br&gt;&amp;gt;    $al-&amp;gt;pushAutoloader(array('CP_Form_Autoloader', 'autoload'), 'CP_Form_')
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Note the second argument -- this will ensure it only attempts to load
&lt;br&gt;&amp;gt; classes beginning with 'CP_Form_'.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do the above in a bootstrap resource, and then modify your CP_Form
&lt;br&gt;&amp;gt; class's _declareFormClass() method as follows:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    protected function _declareFormClass($formName)
&lt;br&gt;&amp;gt;    {
&lt;br&gt;&amp;gt;        $class = 'CP_Form_' . $formName;
&lt;br&gt;&amp;gt;        return $class;
&lt;br&gt;&amp;gt;    }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; and that *should* get you going.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; And here's the complete source of the controller where that code is being run:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683344&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683344&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Wed, Nov 4, 2009 at 11:22 AM, A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236619&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Hey Matthew,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Thanks for the explanation.  I assumed since the error had
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;quot;Zend_Exception&amp;quot; in it, that it was actually an exception being
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; thrown.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Zend_Version::VERSION == '1.9.3'
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; The code in the pastie is literally the only code that ever does
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; anything with the autoloader.  This is a new project, and other than
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; some boilerplate controller code, this is the first few lines of code
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; that have been typed.  The only other modifications are adding the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; namespaces to the autoloader, using the built-in method through the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; application configuration:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; autoloaderNamespaces.cp            = &amp;quot;CP_&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; autoloaderNamespaces.doctrine = &amp;quot;Doctrine_&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; It's also strange that the error is not being suppressed by the @ symbol.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; On Wed, Nov 4, 2009 at 8:57 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236619&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236619&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aj@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; (on Tuesday, 03 November 2009, 07:59 PM -0500):
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm trying to supress errors with the Zend Autoloader, but it's still
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; throwing them.  In this specific case, I'm dynamically ceating a class
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if it doesn't already exist.  I'm calling suppressNotFoundWarnings(
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; true ).
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Here's my code:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/682603&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/682603&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On line 13, I'm getting a Zend_Exception saying that CP/Form/Login.php
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; not found and CP_Form_Login does not exist.  Here's that line:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if( @$autoloader-&amp;gt;autoload( $class ) ) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; even wrapping it in a Try/Catch doesn't catch the exception.  The best
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; part is that further down in the code, the class is still declared,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and the code continues to run.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; the CP_ namespace is registered to the autoloader at bootstrap.  (I
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; confirmed this through debugging).
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; You're confusing exceptions with errors. Zend_Loader_Autoloader does not
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; throw exceptions within its autoload() method (it's considered a bad
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; practice, and PHP itself behaves badly when it happens); this is why the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; try/catch does not work. What's actually happening is that PHP's
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; include() function is raising a PHP warning when it can't find the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; related file in question.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; What *is* odd to me is that the autoloader is not suppressing the errors
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; when you've specifically requested it do so. I've just tried this
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; locally with the following:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;    $autoloader-&amp;gt;suppressNotFoundWarnings(true);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;    if (!$autoloader-&amp;gt;autoload('Zend_Foo_Bar')) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;        echo 'Not found';
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;        exit;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;    }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;    echo 'Found';
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; With the warnings suppressed, it works as expected; without, I get
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; the PHP warning, again, as expected.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; So, a few questions:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;  * What version of ZF are you using?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;  * Can you provide *all* code indicating how you've configured the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;   autoloader?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;  * Is the &amp;quot;CP_&amp;quot; namespace registered with the autoloader? If not, do you
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;   have another autoloader registered that would be handling it?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Based on what you've presented, I have to assume that there's some other
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; configuration issue that's leading to the error.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236619&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; A.J. Brown
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26236619&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;A.J. Brown
&lt;br&gt;web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;phone | (937) 660-3969
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Autloader-Throwing-Exceptions-tp26189433p26236619.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26235350</id>
	<title>Zend_Form and dependency injection</title>
	<published>2009-11-06T09:05:14Z</published>
	<updated>2009-11-06T09:05:14Z</updated>
	<author>
		<name>Hector Virgen</name>
	</author>
	<content type="html">Hello,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I am building a search form that contains many fields and options that are generated dynamically based on the user. For example, one field is a large multiCheckbox that contains a list of &amp;quot;publishers&amp;quot; the user is allowed to search through.&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;My form extends Zend_Form and does all of its work in init(), meaning I need to know which user the form is being built for.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Initially, I had the form pull the current user from the session to build the options. This works fine on the web.&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;But now I need to unit-test this form (or, more specifically, a service that contains a factory method for this form). Since init() is run at the end of Zend_Form&amp;#39;s constructor, I am not given an opportunity to inject a user stub until after the form has been created (which is too late).&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I have a few options here on how to get around this:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;A. Overload Zend_Form&amp;#39;s constructor to add an optional $user param:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot;&gt;public function __construct($options = null, UserInteface $user = null)&lt;/font&gt;&lt;/div&gt;

&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot;&gt;{&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot;&gt;    $this-&amp;gt;_user = $user;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot;&gt;    parent::__construct($options);&lt;/font&gt;&lt;/div&gt;

&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;&amp;#39;courier new&amp;#39;, monospace&quot;&gt;}&lt;/font&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;B. Make my form a dumb container with empty multiCheckbox fields and inject the options via a service layer or wrapper class. It would be nice if there was a Zend_Form_Interface so that I don&amp;#39;t have to update all of my code that uses this form.&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;C. Make my form work without a user by ignoring fields that require user permissions to populate.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any suggestions on these approaches? Is there another way to safely inject a user stub into Zend_Form or is my form handling too much responsibility by checking user permissions? Thanks for the help!&lt;/div&gt;

&lt;div&gt;&lt;br&gt;--&lt;br&gt;Hector&lt;br&gt;
&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend_Form-and-dependency-injection-tp26235350p26235350.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26230820</id>
	<title>Re: Zend_Locale</title>
	<published>2009-11-06T08:32:57Z</published>
	<updated>2009-11-06T08:32:57Z</updated>
	<author>
		<name>asagala</name>
	</author>
	<content type="html">&lt;br&gt;Also tried this
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $locale = new Zend_Locale('fr_CA');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Zend_Registry::set('Zend_Locale', $locale);	
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;asagala wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hi,
&lt;br&gt;&lt;br&gt;I am currently having an issue with Zend_Locale. I am initializing the default in my bootstrap like this
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected function _initLocale()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $locale = new Zend_Locale('en_US');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Zend_Registry::set('Zend_Locale', $locale);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $locale;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp;
&lt;br&gt;&lt;br&gt;and this works fine. However when I try and change the value of the locale in my controllers the initial value is not overwritten. Here is how I am writting the new value to the Zend_Locale key in my controllers
&lt;br&gt;&lt;br&gt;Zend_Registry::set('Zend_Locale','fr_CA');
&lt;br&gt;&lt;br&gt;Anyone have a clue?
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend_Locale-tp26230812p26230820.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26234865</id>
	<title>Re: Zend_Locale</title>
	<published>2009-11-06T08:32:41Z</published>
	<updated>2009-11-06T08:32:41Z</updated>
	<author>
		<name>asagala</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Also tried this
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $locale = new Zend_Locale('fr_CA');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Zend_Registry::set('Zend_Locale', 'fr_CA');	
&lt;br&gt;&lt;br&gt;&lt;br&gt;asagala wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am currently having an issue with Zend_Locale. I am initializing the
&lt;br&gt;&amp;gt; default in my bootstrap like this
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	protected function _initLocale()
&lt;br&gt;&amp;gt; 	{
&lt;br&gt;&amp;gt; 		$locale = new Zend_Locale('en_US');
&lt;br&gt;&amp;gt; 		Zend_Registry::set('Zend_Locale', $locale);
&lt;br&gt;&amp;gt; 	 &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; 	 &amp;nbsp; &amp;nbsp;return $locale;
&lt;br&gt;&amp;gt; 	} &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; and this works fine. However when I try and change the value of the locale
&lt;br&gt;&amp;gt; in my controllers the initial value is not overwritten. Here is how I am
&lt;br&gt;&amp;gt; writting the new value to the Zend_Locale key in my controllers
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Zend_Registry::set('Zend_Locale','fr_CA');
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Anyone have a clue?
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;View this message in context: &lt;a href=&quot;http://old.nabble.com/Zend_Locale-tp26230812p26230819.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Zend_Locale-tp26230812p26230819.html&lt;/a&gt;&lt;br&gt;Sent from the Zend Framework mailing list archive at Nabble.com.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend_Locale-tp26230812p26234865.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26230812</id>
	<title>Zend_Locale</title>
	<published>2009-11-06T07:58:29Z</published>
	<updated>2009-11-06T07:58:29Z</updated>
	<author>
		<name>asagala</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I am currently having an issue with Zend_Locale. I am initializing the default in my bootstrap like this
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected function _initLocale()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $locale = new Zend_Locale('en_US');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Zend_Registry::set('Zend_Locale', $locale);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $locale;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp;
&lt;br&gt;&lt;br&gt;and this works fine. However when I try and change the value of the locale in my controllers the initial value is not overwritten. Here is how I am writting the new value to the Zend_Locale key in my controllers
&lt;br&gt;&lt;br&gt;Zend_Registry::set('Zend_Locale','fr_CA');
&lt;br&gt;&lt;br&gt;Anyone have a clue?</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend_Locale-tp26230812p26230812.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26233192</id>
	<title>RE: Incredible memory usage on public server, normal on dev server</title>
	<published>2009-11-06T06:47:49Z</published>
	<updated>2009-11-06T06:47:49Z</updated>
	<author>
		<name>vRandom</name>
	</author>
	<content type="html">&lt;br&gt;I could see how the code at line 284 on
&lt;br&gt;/home/fabio/ZendFramework-1.9.4/library/Zend/Mail/Protocol/Abstract.php
&lt;br&gt;could attempt to take a lot of memory, if the $request was large or the
&lt;br&gt;function was called multiple times.
&lt;br&gt;&lt;br&gt;// Save request to internal log
&lt;br&gt;$this-&amp;gt;_log .= $request . self::EOL;
&lt;br&gt;&lt;br&gt;You could try adding a syslog debug code before line 284 and see if the size
&lt;br&gt;of the $request is the problem.
&lt;br&gt;&lt;br&gt;syslog(LOG_NOTICE, &amp;quot;{$_SERVER['REMOTE_ADDR']}: debug: Abstract.php - &amp;quot;.
&lt;br&gt;Strlen($request));
&lt;br&gt;&lt;br&gt;Maybe to make it cleaner wrap a try around line 284, and then syslog the
&lt;br&gt;size when an error occurs, or even dump the request string to a file and see
&lt;br&gt;what it was. Though I'd start with checking the size.
&lt;br&gt;&lt;br&gt;Just be warned if your site is busy this could flood the syslog.
&lt;br&gt;&lt;br&gt;As for the similar error in a login, &lt;a href=&quot;http://beta.hinii.com/en/auth/login&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://beta.hinii.com/en/auth/login&lt;/a&gt;&lt;br&gt;&lt;br&gt;As a suggestion, I'd put in a limit on the number of characters they can
&lt;br&gt;enter for a username/password. The form doesn't have any limit set
&lt;br&gt;currently.
&lt;br&gt;&lt;br&gt;Not sure on the memory error, there should be a line before the &amp;quot;Unknown on
&lt;br&gt;line 0&amp;quot; that might give more clues.
&lt;br&gt;&lt;br&gt;I've seen the &amp;quot;Unknown on line 0&amp;quot; error with db calls, file uploads and a
&lt;br&gt;few other times in loops...
&lt;br&gt;&lt;br&gt;Terre
&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: fab2008 [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26233192&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;f.napoleoni@...&lt;/a&gt;] 
&lt;br&gt;Sent: Thursday, November 05, 2009 9:48 PM
&lt;br&gt;To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26233192&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fw-general@...&lt;/a&gt;
&lt;br&gt;Subject: Re: [fw-general] Incredible memory usage on public server, normal
&lt;br&gt;on dev server
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;jollyr0ger wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; my ZF application runs perfectely with 16mb of memory (into php.ini) 
&lt;br&gt;&amp;gt; on my dev machine.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The same code on the public hosting (limit to 64mb of memory) returns 
&lt;br&gt;&amp;gt; error like:
&lt;br&gt;&amp;gt; &amp;quot;Fatal error: Allowed memory size of 67108864 bytes exhausted (tried 
&lt;br&gt;&amp;gt; to allocate 532655056 bytes) in Unknown on line 0&amp;quot;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Try to allocate 500mb of memory! Can't be, it is simply loading the 
&lt;br&gt;&amp;gt; login
&lt;br&gt;&amp;gt; page: &lt;a href=&quot;http://beta.hinii.com/en/auth/login&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://beta.hinii.com/en/auth/login&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've inserted memory_get_peak_usage() to the end of the request cycle 
&lt;br&gt;&amp;gt; (visible now at the end of each page) and it isn't higher than 9-10mb.
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;I have a similar problem using Zend_Mail, I found a couple of these messages
&lt;br&gt;in my php logfile:
&lt;br&gt;&lt;br&gt;PHP Fatal error: &amp;nbsp;Allowed memory size of 134217728 bytes exhausted (tried to
&lt;br&gt;allocate 115901301 bytes) in
&lt;br&gt;/home/fabio/ZendFramework-1.9.4/library/Zend/Mail/Protocol/Abstract.php on
&lt;br&gt;line 284
&lt;br&gt;[04-Nov-2009 14:55:41] PHP Fatal error: &amp;nbsp;Allowed memory size of 134217728
&lt;br&gt;bytes exhausted 
&lt;br&gt;&lt;br&gt;Now what is strange is that enormous request of memory, how is possible to
&lt;br&gt;ask system for 115MB in a single line of code? Maybe a php bug? Or more
&lt;br&gt;likely a bug in php error reporting function. I can't believe that the
&lt;br&gt;indicated line asks for 115MB of memory to the system.
&lt;br&gt;&lt;br&gt;My php version is: 
&lt;br&gt;# php -v
&lt;br&gt;PHP 5.2.6-1+lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009
&lt;br&gt;22:16:23)
&lt;br&gt;Copyright (c) 1997-2008 The PHP Group
&lt;br&gt;Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
&lt;br&gt;&lt;br&gt;P.s. I tried to trace the error using memory_get_peak_usage() at the end of
&lt;br&gt;my script. When it ends with no errors that function reports only 20-30MB of
&lt;br&gt;ram used.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;View this message in context:
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-&lt;/a&gt;&lt;br&gt;dev-server-tp26215767p26225656.html
&lt;br&gt;Sent from the Zend Framework mailing list archive at Nabble.com.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-dev-server-tp26215767p26233192.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26233187</id>
	<title>Facebook iframe app</title>
	<published>2009-11-06T06:47:06Z</published>
	<updated>2009-11-06T06:47:06Z</updated>
	<author>
		<name>Jon Lebensold</name>
	</author>
	<content type="html">Hey all,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I&amp;#39;m having a bit of a tough time getting my iframe-zend-based facebook app up and running. I managed to get it running on my dev box using a fake domain, however it&amp;#39;s been redirecting itself all over the place with an auth_token=XXXX when I&amp;#39;m working on my staging site. I&amp;#39;ve read a lot of people&amp;#39;s posts who have issues, but no clear step-by-step guide.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Has anyone done this? &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;here&amp;#39;s my FacebookController&amp;#39;s init() function (you can poo-poo my putting stuff straight in the view once I get the damn thing up and running): &lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;    public function init()&lt;/div&gt;&lt;div&gt;    {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$this-&amp;gt;config = Zend_Registry::get(&amp;#39;config&amp;#39;);&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$this-&amp;gt;view-&amp;gt;layout()-&amp;gt;setLayout(&amp;quot;facebooklayout&amp;quot;);&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$this-&amp;gt;view-&amp;gt;fbcallbackurl = $this-&amp;gt;config[&amp;#39;fb&amp;#39;][&amp;#39;callbackurl&amp;#39;];&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$this-&amp;gt;view-&amp;gt;fbcanvasurl = $this-&amp;gt;config[&amp;#39;fb&amp;#39;][&amp;#39;canvasurl&amp;#39;];&lt;/div&gt;
&lt;div&gt;        $this-&amp;gt;view-&amp;gt;appid = $this-&amp;gt;config[&amp;#39;fb&amp;#39;][&amp;#39;appid&amp;#39;];&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$this-&amp;gt;view-&amp;gt;apikey = $this-&amp;gt;config[&amp;#39;fb&amp;#39;][&amp;#39;apikey&amp;#39;];&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$this-&amp;gt;view-&amp;gt;action = $this-&amp;gt;_getParam(&amp;#39;action&amp;#39;);&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$this-&amp;gt;view-&amp;gt;facebookApi = Collaborator_FacebookConnectionManager::getInstance()-&amp;gt;getFacebookApi();&lt;/div&gt;
&lt;div&gt;        $this-&amp;gt;view-&amp;gt;userid = $this-&amp;gt;view-&amp;gt;facebookApi-&amp;gt;require_login();&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;and my singleton for the connectionManager:&lt;/div&gt;&lt;div&gt;&lt;div&gt;
&amp;lt;?php&lt;/div&gt;&lt;div&gt;/**&lt;/div&gt;&lt;div&gt; * Singleton for handling the connection to Facebook&lt;/div&gt;&lt;div&gt; *&lt;/div&gt;&lt;div&gt; * @author jon&lt;/div&gt;&lt;div&gt; */&lt;/div&gt;&lt;div&gt;class Collaborator_FacebookConnectionManager&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;    /**&lt;/div&gt;
&lt;div&gt;     *&lt;/div&gt;&lt;div&gt;     * @var Facebook_Facebook&lt;/div&gt;&lt;div&gt;     */&lt;/div&gt;&lt;div&gt;    protected $facebookApi;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;    /**&lt;/div&gt;&lt;div&gt;     *&lt;/div&gt;&lt;div&gt;     * @var Collaborator_FacebookConnectionManager&lt;/div&gt;
&lt;div&gt;     */&lt;/div&gt;&lt;div&gt;    protected static $connectionManager = null;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;    protected function __construct()&lt;/div&gt;&lt;div&gt;    {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$config = Zend_Registry::get(&amp;#39;config&amp;#39;);&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;$this-&amp;gt;facebookApi = new Facebook_Facebook($config[&amp;#39;fb&amp;#39;][&amp;#39;apikey&amp;#39;], $config[&amp;#39;fb&amp;#39;][&amp;#39;apisecret&amp;#39;]);&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;    /**&lt;/div&gt;&lt;div&gt;     * Singleton here to ensure one connection&lt;/div&gt;&lt;div&gt;     * @return Collaborator_FacebookConnectionManager&lt;/div&gt;&lt;div&gt;     */&lt;/div&gt;&lt;div&gt;    public static function getInstance()&lt;/div&gt;
&lt;div&gt;    {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;if (self::$connectionManager === null)&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;    self::$connectionManager = new self();&lt;/div&gt;
&lt;div&gt;        return self::$connectionManager;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;    /**&lt;/div&gt;&lt;div&gt;     *&lt;/div&gt;&lt;div&gt;     * @return Facebook_Facebook&lt;/div&gt;&lt;div&gt;
     */&lt;/div&gt;&lt;div&gt;    public function getFacebookApi()&lt;/div&gt;&lt;div&gt;    {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;return $this-&amp;gt;facebookApi;&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Facebook-iframe-app-tp26233187p26233187.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26232962</id>
	<title>Re: Zend Autloader Throwing Exceptions</title>
	<published>2009-11-06T06:34:24Z</published>
	<updated>2009-11-06T06:34:24Z</updated>
	<author>
		<name>weierophinney</name>
	</author>
	<content type="html">-- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26232962&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;(on Wednesday, 04 November 2009, 11:31 AM -0500):
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Just incase it's useful somehow, here's the full config:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683340&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683340&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; By the way, I'm aware that I shouldn't be registering Doctrine's
&lt;br&gt;&amp;gt; namespace and instead should push the Doctrine autoloader. &amp;nbsp;I'm just
&lt;br&gt;&amp;gt; doing this temporarily until we begin actually leveraging doctrine.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here is the complete code of the class that's giving me trouble:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683348&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683348&lt;/a&gt;&lt;/div&gt;&lt;br&gt;I figured it out.
&lt;br&gt;&lt;br&gt;So, Zend_Loader_Autoloader utilizes Zend_Loader::loadClass() internally
&lt;br&gt;to resolve class files. However, I was wrong about how it works -- it
&lt;br&gt;*does*, in fact, throw an exception if the class does not exist after it
&lt;br&gt;attempted to load it.
&lt;br&gt;&lt;br&gt;Your best bet is to create an additional autoloader that you attach to
&lt;br&gt;Zend_Loader_Autoloader that will attempt to load just your form classes
&lt;br&gt;-- and declare them otherwise.
&lt;br&gt;&lt;br&gt;One way to do that might be as follows:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; class CP_Form_Autoloader
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static function autoload($className)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (class_exists($className, false)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $className;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $fileName = str_replace('_', '/', $className) . '.php';
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (include($fileName)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $className;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eval(&amp;quot;class $className extends CP_Form { }&amp;quot;);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $class;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;You would then register this with the main autoloader as follows:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; $al = Zend_Loader_Autoloader::getInstance();
&lt;br&gt;&amp;nbsp; &amp;nbsp; class_exists('CP_Form_Autoloader'); // to ensure it's autoloaded
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // prior to registration...
&lt;br&gt;&amp;nbsp; &amp;nbsp; $al-&amp;gt;pushAutoloader(array('CP_Form_Autoloader', 'autoload'), 'CP_Form_')
&lt;br&gt;&lt;br&gt;Note the second argument -- this will ensure it only attempts to load
&lt;br&gt;classes beginning with 'CP_Form_'.
&lt;br&gt;&lt;br&gt;Do the above in a bootstrap resource, and then modify your CP_Form
&lt;br&gt;class's _declareFormClass() method as follows:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; protected function _declareFormClass($formName)
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $class = 'CP_Form_' . $formName;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $class;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;and that *should* get you going.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; And here's the complete source of the controller where that code is being run:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/683344&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/683344&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Wed, Nov 4, 2009 at 11:22 AM, A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26232962&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; Hey Matthew,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks for the explanation.  I assumed since the error had
&lt;br&gt;&amp;gt; &amp;gt; &amp;quot;Zend_Exception&amp;quot; in it, that it was actually an exception being
&lt;br&gt;&amp;gt; &amp;gt; thrown.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Zend_Version::VERSION == '1.9.3'
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The code in the pastie is literally the only code that ever does
&lt;br&gt;&amp;gt; &amp;gt; anything with the autoloader.  This is a new project, and other than
&lt;br&gt;&amp;gt; &amp;gt; some boilerplate controller code, this is the first few lines of code
&lt;br&gt;&amp;gt; &amp;gt; that have been typed.  The only other modifications are adding the
&lt;br&gt;&amp;gt; &amp;gt; namespaces to the autoloader, using the built-in method through the
&lt;br&gt;&amp;gt; &amp;gt; application configuration:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; autoloaderNamespaces.cp            = &amp;quot;CP_&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt; autoloaderNamespaces.doctrine = &amp;quot;Doctrine_&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; It's also strange that the error is not being suppressed by the @ symbol.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Wed, Nov 4, 2009 at 8:57 AM, Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26232962&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; -- A.J. Brown &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26232962&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aj@...&lt;/a&gt;&amp;gt; wrote
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; (on Tuesday, 03 November 2009, 07:59 PM -0500):
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I'm trying to supress errors with the Zend Autoloader, but it's still
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; throwing them.  In this specific case, I'm dynamically ceating a class
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if it doesn't already exist.  I'm calling suppressNotFoundWarnings(
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; true ).
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Here's my code:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.pastie.org/682603&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.pastie.org/682603&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; On line 13, I'm getting a Zend_Exception saying that CP/Form/Login.php
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; not found and CP_Form_Login does not exist.  Here's that line:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; if( @$autoloader-&amp;gt;autoload( $class ) ) {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; even wrapping it in a Try/Catch doesn't catch the exception.  The best
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; part is that further down in the code, the class is still declared,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and the code continues to run.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; the CP_ namespace is registered to the autoloader at bootstrap.  (I
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; confirmed this through debugging).
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; You're confusing exceptions with errors. Zend_Loader_Autoloader does not
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; throw exceptions within its autoload() method (it's considered a bad
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; practice, and PHP itself behaves badly when it happens); this is why the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; try/catch does not work. What's actually happening is that PHP's
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; include() function is raising a PHP warning when it can't find the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; related file in question.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; What *is* odd to me is that the autoloader is not suppressing the errors
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; when you've specifically requested it do so. I've just tried this
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; locally with the following:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;    $autoloader-&amp;gt;suppressNotFoundWarnings(true);
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;    if (!$autoloader-&amp;gt;autoload('Zend_Foo_Bar')) {
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;        echo 'Not found';
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;        exit;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;    }
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;    echo 'Found';
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; With the warnings suppressed, it works as expected; without, I get
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; the PHP warning, again, as expected.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; So, a few questions:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;  * What version of ZF are you using?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;  * Can you provide *all* code indicating how you've configured the
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;   autoloader?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;  * Is the &amp;quot;CP_&amp;quot; namespace registered with the autoloader? If not, do you
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;   have another autoloader registered that would be handling it?
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Based on what you've presented, I have to assume that there's some other
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; configuration issue that's leading to the error.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Matthew Weier O'Phinney
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Project Lead            | &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26232962&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Zend Framework          | &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; &amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; A.J. Brown
&lt;br&gt;&amp;gt; web | &lt;a href=&quot;http://ajbrown.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ajbrown.org&lt;/a&gt;&lt;br&gt;&amp;gt; phone | (937) 660-3969
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Matthew Weier O'Phinney
&lt;br&gt;Project Lead &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26232962&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthew@...&lt;/a&gt;
&lt;br&gt;Zend Framework &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &lt;a href=&quot;http://framework.zend.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://framework.zend.com/&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Autloader-Throwing-Exceptions-tp26189433p26232962.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26231509</id>
	<title>&quot;Connect&quot; a form to one created in the view</title>
	<published>2009-11-06T04:52:36Z</published>
	<updated>2009-11-06T04:52:36Z</updated>
	<author>
		<name>Simeon Goranov-3</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;I've got this one in my view script index.phtml:
&lt;br&gt;&lt;br&gt;&amp;lt;h2&amp;gt;Log In&amp;lt;/h2&amp;gt;
&lt;br&gt;&amp;lt;p&amp;gt;
&lt;br&gt;&amp;lt;?php echo $this-&amp;gt;form('Default_Form_Login', array('name' =&amp;gt;
&lt;br&gt;'form_login', 'id' =&amp;gt; 'form_login', 'method' =&amp;gt; 'post', 'action' =&amp;gt;
&lt;br&gt;$this-&amp;gt;link('login', 'index')), false); ?&amp;gt;
&lt;br&gt;Username &amp;lt;br /&amp;gt;
&lt;br&gt;&amp;lt;?php echo $this-&amp;gt;formText('form_username');?&amp;gt;&amp;lt;br /&amp;gt;
&lt;br&gt;Password &amp;lt;br /&amp;gt;
&lt;br&gt;&amp;lt;?php echo $this-&amp;gt;formPassword('form_password');?&amp;gt;&amp;lt;br /&amp;gt;
&lt;br&gt;&amp;lt;?php echo $this-&amp;gt;formSubmit('Submit', 'Login');?&amp;gt;
&lt;br&gt;&amp;lt;/form&amp;gt;
&lt;br&gt;&amp;lt;/p&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;The form up is created with the view helpers and I want to &amp;quot;connect&amp;quot;
&lt;br&gt;this form to one created from the class:
&lt;br&gt;&lt;br&gt;class Default_Form_Login extends Zend_Form
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; public function __construct($options=array())
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parent::__construct($options);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;setName('form_login');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;setMethod('post');
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Text('form_username');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element-&amp;gt;setLabel('Username');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Password('form_password');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element-&amp;gt;setLabel('Password');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $element = new Zend_Form_Element_Submit('Login');
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;addElement($element);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;So I will be able to use the form in my action in this way:
&lt;br&gt;&lt;br&gt;public function loginAction()
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; $form = new Default_Form_Login();
&lt;br&gt;&amp;nbsp; &amp;nbsp; $result = $form-&amp;gt;getValues();
&lt;br&gt;&lt;br&gt;Is it possible and how ?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;S.G.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/%22Connect%22-a-form-to-one-created-in-the-view-tp26231509p26231509.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26230258</id>
	<title>Re: Incredible memory usage on public server, normal on dev server</title>
	<published>2009-11-06T03:15:46Z</published>
	<updated>2009-11-06T03:15:46Z</updated>
	<author>
		<name>jollyr0ger</name>
	</author>
	<content type="html">Yeah, my process just to show a page (without doing some logic operation, just showing the view) sometimes request 490mb of memory...
&lt;br&gt;&lt;br&gt;Can be a bug... But I can't get help from zend developers.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;fab2008 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;I have a similar problem using Zend_Mail, I found a couple of these messages in my php logfile:
&lt;br&gt;&lt;br&gt;PHP Fatal error: &amp;nbsp;Allowed memory size of 134217728 bytes exhausted (tried to allocate 115901301 bytes) in /home/fabio/ZendFramework-1.9.4/library/Zend/Mail/Protocol/Abstract.php on line 284
&lt;br&gt;[04-Nov-2009 14:55:41] PHP Fatal error: &amp;nbsp;Allowed memory size of 134217728 bytes exhausted 
&lt;br&gt;&lt;br&gt;Now what is strange is that enormous request of memory, how is possible to ask system for 115MB in a single line of code? Maybe a php bug? Or more likely a bug in php error reporting function. I can't believe that the indicated line asks for 115MB of memory to the system.
&lt;br&gt;&lt;br&gt;My php version is: 
&lt;br&gt;# php -v
&lt;br&gt;PHP 5.2.6-1+lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009 22:16:23) 
&lt;br&gt;Copyright (c) 1997-2008 The PHP Group
&lt;br&gt;Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
&lt;br&gt;&lt;br&gt;P.s. I tried to trace the error using memory_get_peak_usage() at the end of my script. When it ends with no errors that function reports only 20-30MB of ram used.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Incredible-memory-usage-on-public-server%2C-normal-on-dev-server-tp26215767p26230258.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26229861</id>
	<title>Re: Zend Autloader Throwing Exceptions</title>
	<published>2009-11-06T02:38:02Z</published>
	<updated>2009-11-06T02:38:02Z</updated>
	<author>
		<name>Daniel Latter-2</name>
	</author>
	<content type="html">&lt;html&gt;&lt;body bgcolor=&quot;#FFFFFF&quot;&gt;&lt;div&gt;Do you have an error handler that's throwing exceptions on error???&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;On 6 Nov 2009, at 10:33, Tim Fountain &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229861&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;timf@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/6 Tim Fountain &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229861&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;timf@...&lt;/a&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/5 A.J. Brown &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229861&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;div class=&quot;im&quot;&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Anyone have any ideas? &amp;nbsp;I've been playing around with this all day and&lt;br&gt;
can't seem to nudge into working. &amp;nbsp;If I can't figure it out, I'll just&lt;br&gt;
skip using the autoloader here and write my own method, &amp;nbsp;but I don't&lt;br&gt;
want to duplicate code.&lt;br&gt;
&lt;br&gt;
FYI, we used this method in another project, and it worked fine.&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;br&gt;Unless I'm missing something, the error you are getting states: &lt;br&gt;&lt;div class=&quot;im&quot;&gt;&lt;br&gt;&amp;gt; &amp;nbsp;Zend_Exception: File &quot;CP/Form/Login.php&quot; does not exist or class&lt;br&gt;


&amp;gt; &quot;CP_Form_Login&quot; was not found in the file in&lt;br&gt;
&amp;gt; /home/ajbrown/Projects/&lt;div&gt;CitationPoint2/library/Zend/Loader.php on line&lt;br&gt;
&amp;gt; 88&lt;/div&gt;&lt;br&gt;&lt;/div&gt;however the file you gave defines a class called: &quot;CP_Form&quot;. Rename the class to &quot;CP_Form_Login&quot; and all should work fine.&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Ignore the above - I misunderstood what your class was doing. Could it be a problem in the definition of CP_Form_Login though? Or does this class not exist and you're expecting your factory method to return false? &lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br&gt;-- &lt;br&gt;Tim Fountain&lt;br&gt;&lt;a href=&quot;http://tfountain.co.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;a href=&quot;http://tfountain.co.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://tfountain.co.uk/&lt;/a&gt;&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/blockquote&gt;&lt;/body&gt;&lt;/html&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Autloader-Throwing-Exceptions-tp26189433p26229861.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26229811</id>
	<title>Re: Zend Autloader Throwing Exceptions</title>
	<published>2009-11-06T02:33:58Z</published>
	<updated>2009-11-06T02:33:58Z</updated>
	<author>
		<name>Tim Fountain</name>
	</author>
	<content type="html">&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/6 Tim Fountain &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229811&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;timf@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/5 A.J. Brown &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229811&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;div class=&quot;im&quot;&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Anyone have any ideas?  I&amp;#39;ve been playing around with this all day and&lt;br&gt;
can&amp;#39;t seem to nudge into working.  If I can&amp;#39;t figure it out, I&amp;#39;ll just&lt;br&gt;
skip using the autoloader here and write my own method,  but I don&amp;#39;t&lt;br&gt;
want to duplicate code.&lt;br&gt;
&lt;br&gt;
FYI, we used this method in another project, and it worked fine.&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;br&gt;Unless I&amp;#39;m missing something, the error you are getting states: &lt;br&gt;&lt;div class=&quot;im&quot;&gt;&lt;br&gt;&amp;gt;  Zend_Exception: File &amp;quot;CP/Form/Login.php&amp;quot; does not exist or class&lt;br&gt;


&amp;gt; &amp;quot;CP_Form_Login&amp;quot; was not found in the file in&lt;br&gt;
&amp;gt; /home/ajbrown/Projects/&lt;div&gt;CitationPoint2/library/Zend/Loader.php on line&lt;br&gt;
&amp;gt; 88&lt;/div&gt;&lt;br&gt;&lt;/div&gt;however the file you gave defines a class called: &amp;quot;CP_Form&amp;quot;. Rename the class to &amp;quot;CP_Form_Login&amp;quot; and all should work fine.&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Ignore the above - I misunderstood what your class was doing. Could it be a problem in the definition of CP_Form_Login though? Or does this class not exist and you&amp;#39;re expecting your factory method to return false? &lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br&gt;-- &lt;br&gt;Tim Fountain&lt;br&gt;&lt;a href=&quot;http://tfountain.co.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://tfountain.co.uk/&lt;/a&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Autloader-Throwing-Exceptions-tp26189433p26229811.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26229635</id>
	<title>Re: Zend Autloader Throwing Exceptions</title>
	<published>2009-11-06T02:19:50Z</published>
	<updated>2009-11-06T02:19:50Z</updated>
	<author>
		<name>Tim Fountain</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/5 A.J. Brown &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26229635&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fynwine@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Anyone have any ideas?  I&amp;#39;ve been playing around with this all day and&lt;br&gt;
can&amp;#39;t seem to nudge into working.  If I can&amp;#39;t figure it out, I&amp;#39;ll just&lt;br&gt;
skip using the autoloader here and write my own method,  but I don&amp;#39;t&lt;br&gt;
want to duplicate code.&lt;br&gt;
&lt;br&gt;
FYI, we used this method in another project, and it worked fine.&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;br&gt;Unless I&amp;#39;m missing something, the error you are getting states: &lt;br&gt;&lt;br&gt;&amp;gt;  Zend_Exception: File &amp;quot;CP/Form/Login.php&amp;quot; does not exist or class&lt;br&gt;

&amp;gt; &amp;quot;CP_Form_Login&amp;quot; was not found in the file in&lt;br&gt;
&amp;gt; /home/ajbrown/Projects/&lt;div id=&quot;:19b&quot; class=&quot;ii gt&quot;&gt;CitationPoint2/library/Zend/Loader.php on line&lt;br&gt;
&amp;gt; 88&lt;/div&gt;&lt;br&gt;however the file you gave defines a class called: &amp;quot;CP_Form&amp;quot;. Rename the class to &amp;quot;CP_Form_Login&amp;quot; and all should work fine.&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;-- &lt;br&gt;Tim Fountain&lt;br&gt;&lt;a href=&quot;http://tfountain.co.uk/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://tfountain.co.uk/&lt;/a&gt;&lt;br&gt;

</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Zend-Autloader-Throwing-Exceptions-tp26189433p26229635.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26229015</id>
	<title>Strageties for lost view vars when re-rendering an invalid form ?</title>
	<published>2009-11-06T01:26:17Z</published>
	<updated>2009-11-06T01:26:17Z</updated>
	<author>
		<name>J DeBord</name>
	</author>
	<content type="html">Problem: When rendering an action&amp;#39;s view script from a different action, the view variables that normally would exist are never initialized.&lt;br&gt;&lt;br&gt;For example, indexAction creates a form it&amp;#39;s view script and at least one other variable for the view:&lt;br&gt;

public function indexAction()&lt;br&gt;    {&lt;br&gt;        $this-&amp;gt;view-&amp;gt;runs = array();&lt;br&gt;&lt;br&gt;        $contactForm = $this-&amp;gt;_getContactForm();&lt;br&gt;        $this-&amp;gt;view-&amp;gt;contactForm = $contactForm;&lt;br&gt;&lt;br&gt;        $dbAdapter = $this-&amp;gt;getInvokeArg(&amp;#39;bootstrap&amp;#39;)-&amp;gt;getResource(&amp;#39;db&amp;#39;);&lt;br&gt;

        $runGateway = new Model_RunGateway(array(&amp;#39;dbAdapter&amp;#39; =&amp;gt; $dbAdapter));&lt;br&gt;        $runs = array();&lt;br&gt;        $runs = $runGateway-&amp;gt;getRuns();&lt;br&gt;&lt;br&gt;        $this-&amp;gt;view-&amp;gt;runs = $runs; // Will be lost if another action calls $this-&amp;gt;render(&amp;#39;index&amp;#39;)&lt;br&gt;

    }&lt;br&gt;&lt;br&gt;The form&amp;#39;s action is contactprocessAction() (&amp;#39;/index/contactprocess/&amp;#39;). The form is submitted and is not valid. I can assign the $form to a view variable and render the original &amp;#39;index&amp;#39; view. &lt;br&gt;

&lt;br&gt;    public function contactprocessAction()&lt;br&gt;    {&lt;br&gt;        $this-&amp;gt;view-&amp;gt;valid = false;&lt;br&gt;        $request = $this-&amp;gt;getRequest();&lt;br&gt;        $form = $this-&amp;gt;_getContactForm();&lt;br&gt;       &lt;br&gt;        if (!$form-&amp;gt;isValid($request-&amp;gt;getPost())) {&lt;br&gt;

            $this-&amp;gt;view-&amp;gt;contactForm = $form; // $this-&amp;gt;contactForm is in the view, but no other vars are.&lt;br&gt;            return $this-&amp;gt;render(&amp;#39;index&amp;#39;);&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;But, the other view variables that would normally be created when indexAction is called, do not get created.&lt;br&gt;

&lt;br&gt;What do you think is the best way to deal with this?&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Strageties-for-lost-view-vars-when-re-rendering-an-invalid-form---tp26229015p26229015.html" />
</entry>

</feed>
