Re: [fw-general] Zend Framework 1.7 Preview Release is nowavailable!
On 14 Oct 2008, at 20:52, Wil Sinclair wrote: It should also be mentioned that this is something that was identified in the initial performance tests. Matthew will be doing much more performance testing in the next few weeks, so we will hopefully deliver more performance enhancements with the 1.7 production release. Are the performance tests and the results of them written up anywhere? I'd be interested to see how they correlate with testing of my applications, so the testing methodology used would be useful. Regards, Rob...
Re: [fw-general] Database profiles for reading/writing with Zend_Db
Xavier Vidal Piera wrote: Hi Talking about scalability and database replication, i'm looking forward to setup an application that will use a MySQL Master and a couple of MySQL Slaves. At the moment my ZF actual setup is using only one Database Adapter but we're moving to a new setup using replication. Is Zend_Db_Table ready to manage this kind of replication setups? As a example, now a Zend_Db_Table_Row will save and update rows using the same connection. A useful feature will be if zend_db_table / zend_db_table_row can detect if there are more than one database profile and use them based in reading / writing. Can anyone provide more info about this term? It's not build into Zend_Db but you should be able to implement it yourself quite easily. The problem is that sending all read queries to slaves might not work very well. Because of the replication lag you may show stale data after users edits his profile etc. It may be better to switch adapters in your application based on the context, use master if you need write read and slave for cases where data is only read, like reporting. Karol -- View this message in context: http://www.nabble.com/Database-profiles-for-reading-writing-with-Zend_Db-tp20010673p20011604.html Sent from the Zend Framework mailing list archive at Nabble.com.
RE: [fw-general] Database profiles for reading/writing with Zend_Db
Maybe i have a easy suggestion: 1) Extend Zend_Db_Table and use the Slaves Database as default adapter. 2) overwrite the insert, update and delete functions and use the Master adapter Something like: Class My_Db_Table extends Zend_Db_Table { (...) Public function insert($data) { $this-setDefaultAdapter(--Master Db Adapter--); return parent::insert($data); } (...) } And extend all table classes from My_Db_Table -Mensaje original- De: Karol Grecki [mailto:[EMAIL PROTECTED] Enviado el: jueves, 16 de octubre de 2008 13:15 Para: fw-general@lists.zend.com Asunto: Re: [fw-general] Database profiles for reading/writing with Zend_Db Xavier Vidal Piera wrote: Hi Talking about scalability and database replication, i'm looking forward to setup an application that will use a MySQL Master and a couple of MySQL Slaves. At the moment my ZF actual setup is using only one Database Adapter but we're moving to a new setup using replication. Is Zend_Db_Table ready to manage this kind of replication setups? As a example, now a Zend_Db_Table_Row will save and update rows using the same connection. A useful feature will be if zend_db_table / zend_db_table_row can detect if there are more than one database profile and use them based in reading / writing. Can anyone provide more info about this term? It's not build into Zend_Db but you should be able to implement it yourself quite easily. The problem is that sending all read queries to slaves might not work very well. Because of the replication lag you may show stale data after users edits his profile etc. It may be better to switch adapters in your application based on the context, use master if you need write read and slave for cases where data is only read, like reporting. Karol -- View this message in context: http://www.nabble.com/Database-profiles-for-reading-writing-with-Zend_Db-tp2 0010673p20011604.html Sent from the Zend Framework mailing list archive at Nabble.com.
[fw-general] ZF caching output. Howto disable this so can chunk serve file.
Hi, I am trying to chunk serve file using fopen,fread,fseek etc. Problem I think I am having is that ZF is caching the output...and I get out of memory instead of using constant memory for no matter how large file I serve for download. Using MVC part have action for this download have disabled renderer and layout. Please let me know how can disable caching of page..I am pretty sure it occurs.
Re: [fw-general] ZF caching output. Howto disable this so can chunk serve file.
I see that ('disableOutputBuffering',true) on frontcontroller fixed this issue. But not sure if can disable this per action. I guess not..as it's done at dispatch. Controller plugin doesn't help either. Julian Davchev wrote: Hi, I am trying to chunk serve file using fopen,fread,fseek etc. Problem I think I am having is that ZF is caching the output...and I get out of memory instead of using constant memory for no matter how large file I serve for download. Using MVC part have action for this download have disabled renderer and layout. Please let me know how can disable caching of page..I am pretty sure it occurs.
Re: [fw-general] ZF caching output. Howto disable this so can chunk serve file.
Julian Davchev wrote: Hi, I am trying to chunk serve file using fopen,fread,fseek etc. Problem I think I am having is that ZF is caching the output...and I get out of memory instead of using constant memory for no matter how large file I serve for download. Using MVC part have action for this download have disabled renderer and layout. Please let me know how can disable caching of page..I am pretty sure it occurs. Just stop output buffering before sending the file. http://www.php.net/manual/en/function.ob-end-flush.php Karol -- View this message in context: http://www.nabble.com/Zend-Framework-1.7-Preview-Release-is-now-available%21-tp19966314p20013271.html Sent from the Zend Framework mailing list archive at Nabble.com.
Re: [fw-general] Zend Framework 1.7 Preview Release is nowavailable!
-- Rob Allen [EMAIL PROTECTED] wrote (on Thursday, 16 October 2008, 09:44 AM +0100): On 14 Oct 2008, at 20:52, Wil Sinclair wrote: It should also be mentioned that this is something that was identified in the initial performance tests. Matthew will be doing much more performance testing in the next few weeks, so we will hopefully deliver more performance enhancements with the 1.7 production release. Are the performance tests and the results of them written up anywhere? I'd be interested to see how they correlate with testing of my applications, so the testing methodology used would be useful. I'll be writing them up following the 1.7.0 release. Some of the tools we're using are not publically released yet, so any writeup I do now will not be immediately reproducible. The basic idea, however, is along these lines: * Write a series of requests to execute * Benchmark that series of requests * Profile each request, and examine what pieces take longest * Tweak the code * Benchmark again * Compare original and secondary benchmark to see if noticable improvements were made * Lather, rinse, and repeat The benchmarking and profiling tools are custom, and those are the reason I cannot do a meaningful writeup yet. The requests I'm executing are against the bug application I wrote for the Dutch PHP Conference workshop I did. Currently, I have it visit a landing page, the login form, submit credentials, and view a bug listing page. This allows me to test a typical user visit to the site, and also allows me to test several expensive operations. I will be writing several more request profiles to ensure we cover things such as search, insert/update of databases, translation, etc. -- Matthew Weier O'Phinney Software Architect | [EMAIL PROTECTED] Zend Framework | http://framework.zend.com/
Re: [fw-general] ZF caching output. Howto disable this so can chunk serve file.
-- Julian Davchev [EMAIL PROTECTED] wrote (on Thursday, 16 October 2008, 03:46 PM +0300): I see that ('disableOutputBuffering',true) on frontcontroller fixed this issue. But not sure if can disable this per action. I guess not..as it's done at dispatch. Controller plugin doesn't help either. You *can* control it from a controller plugin, but you have to go directly to the dispatcher to do it: $front = Zend_Controller_Front::getInstance(); $dispatcher = $front-getDispatcher(); $dispatcher-setParam('disableOutputBuffering', true); Julian Davchev wrote: Hi, I am trying to chunk serve file using fopen,fread,fseek etc. Problem I think I am having is that ZF is caching the output...and I get out of memory instead of using constant memory for no matter how large file I serve for download. Using MVC part have action for this download have disabled renderer and layout. Please let me know how can disable caching of page..I am pretty sure it occurs. -- Matthew Weier O'Phinney Software Architect | [EMAIL PROTECTED] Zend Framework | http://framework.zend.com/
[fw-general] Roadmap?
Hi all, can anybody tell me where to find the actual roadmap? Even Google didn't give me the answer. All the best, Patrick
Re: [fw-general] How do I factor out tasks common to every action controller?
-- Steven Szymczak [EMAIL PROTECTED] wrote (on Wednesday, 15 October 2008, 11:09 PM +0100): Every one of my action controllers has an init() function that pulls a config object from the registry and uses it to set some paths used throughout the site (e.g.): public function init() { $view_cfg = Zend_Registry::get('SITE_CFG'); $this-view-__set('pubImages', $view_cfg-dirs-images); $this-view-__set('jsDir', $view_cfg-dirs-js); $this-view-__set('cssDir', $view_cfg-dirs-css); } How can factor out this functionality without resorting to a parent class for all my action controllers? I seem to recall a similar post to the list, several months ago, that suggested utilizing a helper somehow... Create an action helper that implements functionality in preDispatch(), and register it with the helper broker in your bootstrap. It might look like this: class My_CommonViewVariables extends Zend_Controller_Action_Helper_Abstract { public function preDispatch() { $view = $this-getActionController()-view; $viewCfg = Zend_Registry::get('SITE_CFG')-dirs; $view-assign(array( 'pubImages' = $viewCfg-images, 'jsDir' = $viewCfg-js, 'cssDir'= $viewCfg-css, )); } } And then, in your bootstrap: Zend_Controller_Action_HelperBroker::addHelper(new My_CommonViewVariables); BTW, don't call magic methods directly; it's a bad idea. Your original example would have been better written using $this-view-cssDir = $view_cfg-dirs-css;, or, if you really want to use method calls, the assign() method (which takes either two arguments, like __set(), or an array of key/value pairs, as in the helper I detail above). -- Matthew Weier O'Phinney Software Architect | [EMAIL PROTECTED] Zend Framework | http://framework.zend.com/
Re: [fw-general] Roadmap?
-- Patrick Schulz [EMAIL PROTECTED] wrote (on Thursday, 16 October 2008, 04:06 PM +0200): can anybody tell me where to find the actual roadmap? Even Google didn't give me the answer. We don't currently have a roadmap page. Look at the proposals page: http://framework.zend.com/wiki/display/ZFPROP/Home and the issue tracker http://framework.zend.com/issues to see what lies in store for the future. -- Matthew Weier O'Phinney Software Architect | [EMAIL PROTECTED] Zend Framework | http://framework.zend.com/
[fw-general] Zend_Tool document / command reference?
I'm interested in Zend_Tool reading this article. http://devzone.zend.com/article/3811-Using-Zend_Tool-to-start-up-your-ZF-Project It seems there are some of zf {command} {parameters}. Where can I find a list of them or documentation? any source I should check? Thanks, -- :: Iwasaki Teruyuki :: twitter: twk | skype: iwasakiteruyuki
[fw-general] How to add a table row - Zend_Form decorator
Hi, I have the set the following decorators to render the form in a table. This is actually a subform, if it matters. $productsForm-setDecorators(array( 'FormElements', array('decorator' = array('th' = 'HtmlTag'), 'options' = array('tag' = 'th')), array('decorator' = array('tr' = 'HtmlTag'), 'options' = array('tag' = 'tr')), array('HtmlTag', array('tag' = 'table', 'id'='productsTable')), 'Form' )); $productsForm-setElementDecorators(array( 'ViewHelper', 'Errors', array('decorator' = array('td' = 'HtmlTag'), 'options' = array('tag' = 'td')), array('Label', array('tag' = 'td')), array('decorator' = array('tr' = 'HtmlTag'), 'options' = array('tag' = 'tr')), )); I want to know how to add a table row with headings using decorators. Example output needed: trthhead1/ththhead2/ththhead3/th/tr I want this row to appear on top of other rows in the table. The [snip] array('decorator' = array('th' = 'HtmlTag'), 'options' = array('tag' = 'th')), array('decorator' = array('tr' = 'HtmlTag'), 'options' = array('tag' = 'tr')), [/snip] creates a row and adds one cell. But I don't know how to add content to that cell. Any help is appreciated. -- Sudheer. S Business: http://binaryvibes.co.in, Community: http://lampcomputing.com, Personal: http://sudheer.net
[fw-general] Database profiles for reading/writing with Zend_Db
Hi Talking about scalability and database replication, i'm looking forward to setup an application that will use a MySQL Master and a couple of MySQL Slaves. At the moment my ZF actual setup is using only one Database Adapter but we're moving to a new setup using replication. Is Zend_Db_Table ready to manage this kind of replication setups? As a example, now a Zend_Db_Table_Row will save and update rows using the same connection. A useful feature will be if zend_db_table / zend_db_table_row can detect if there are more than one database profile and use them based in reading / writing. Can anyone provide more info about this term? Thanks -- Xavier Vidal Piera Director Tècnic de Citrusparadis.com - Grupo Intercom Enginyer Tècnic Informàtic de Gestió Tècnic Especialista Informàtic d'equips [EMAIL PROTECTED] http://web.xaviervidal.net 610.68.41.78
Re: [fw-general] Database profiles for reading/writing with Zend_Db
Specifically, you'll want to do something more like this for a My_Db_Table_Abstract class: public function insert(array $data) { if (self::$_writeAdapter === null) { throw new My_Db_Table_Exception('No write adapter specified'); } $currentAdapter = $this-getAdapter(); $writeAdapter = self::$_writeAdapter; $this-_setAdapter($writeAdapter); $result = parent::insert($data); $this-_setAdapter($currentAdapter); return $result; } You'll also want to have setReadAdapter() and setWriteAdapter() methods along with the insert(), update(), and delete(). -Matt On Thu, Oct 16, 2008 at 4:24 AM, Xavier Vidal [EMAIL PROTECTED] wrote: Maybe i have a easy suggestion: 1) Extend Zend_Db_Table and use the Slaves Database as default adapter. 2) overwrite the insert, update and delete functions and use the Master adapter Something like: Class My_Db_Table extends Zend_Db_Table { (...) Public function insert($data) { $this-setDefaultAdapter(--Master Db Adapter--); return parent::insert($data); } (...) } And extend all table classes from My_Db_Table -Mensaje original- De: Karol Grecki [mailto:[EMAIL PROTECTED] Enviado el: jueves, 16 de octubre de 2008 13:15 Para: fw-general@lists.zend.com Asunto: Re: [fw-general] Database profiles for reading/writing with Zend_Db Xavier Vidal Piera wrote: Hi Talking about scalability and database replication, i'm looking forward to setup an application that will use a MySQL Master and a couple of MySQL Slaves. At the moment my ZF actual setup is using only one Database Adapter but we're moving to a new setup using replication. Is Zend_Db_Table ready to manage this kind of replication setups? As a example, now a Zend_Db_Table_Row will save and update rows using the same connection. A useful feature will be if zend_db_table / zend_db_table_row can detect if there are more than one database profile and use them based in reading / writing. Can anyone provide more info about this term? It's not build into Zend_Db but you should be able to implement it yourself quite easily. The problem is that sending all read queries to slaves might not work very well. Because of the replication lag you may show stale data after users edits his profile etc. It may be better to switch adapters in your application based on the context, use master if you need write read and slave for cases where data is only read, like reporting. Karol -- View this message in context: http://www.nabble.com/Database-profiles-for-reading-writing-with-Zend_Db-tp2 0010673p20011604.htmlhttp://www.nabble.com/Database-profiles-for-reading-writing-with-Zend_Db-tp20010673p20011604.html Sent from the Zend Framework mailing list archive at Nabble.com.
Re: [fw-general] Routes _Get Parameters
No. Static routes are exactly that.; you cannot use parameters with them. You'll need just a standard route: |$route = new Zend_Controller_Router_Route( 'show/:id', array( 'controller' = 'show', 'action' = 'display', // You could set a default value for the :id parameter here ) ); $router-addRoute('user', $route);| Steven Szymczak wrote: If I'm not mistaken, something like this should work: $route = new Zend_Controller_Router_Route_Static( 'show', array('controller' = 'show', 'action' = 'Display') ); $router = $frontController-getRouter(); $router-addRoute('show', $route); Joe Hagerty wrote: I am new to the zend framework and am cutting over all my little small apps and I am currently stumped on the role of routes rewrites. I have the following configuration: application --bootstrap.php --Initializer.php --default ---controllers IndexController.php ShowController.php ---models myModel.php and the default route configuration used by Zend Studio for eclipse. What I want to configure is bypassing the normal route config and accomplish something like: http://localhost/show/id/5 which should route to: Controller=ShowController Action=Display and id=5 should be a request parameter. Can anyone give me advice on how the route should be configured? Thanks! Joe
Re: [fw-general] Zend_Tool document / command reference?
In the most recent version in the svn lab, zf --help has been implemented. Also, a more lengthy explanation will be forthcoming this week. Also, if you are interested in development, please check here: http://tech.groups.yahoo.com/group/zf-tool/ -ralph On 10/16/08 9:26 AM, 岩崎輝之 [EMAIL PROTECTED] wrote: I'm interested in Zend_Tool reading this article. http://devzone.zend.com/article/3811-Using-Zend_Tool-to-start-up-your-ZF-Proje ct It seems there are some of zf {command} {parameters}. Where can I find a list of them or documentation? any source I should check? Thanks, -- Ralph Schindler Software Engineer | [EMAIL PROTECTED] Zend Framework| http://framework.zend.com/
[fw-general] Zend_Controller_Router_Route_Hostname and Zend_Config
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi people, long time ago, I wrote the hostname routing for ZF 1.6. At that point there was no possibility to use them via Zend_Config. With my newest commit that has changed now, and you'll get it with the RC1 release of ZF 1.7. In the meantime, you can surely take a look at the trunk of how it works. An example for an XML config is added to the documentation of the hostname route. Greez, Ben ... : ___ _ ___ ___ ___ _ ___: : | \ /_\ / __| _ \ _ (_) \ : : | |) / _ \\__ \ _/ / | |) | : : |___/_/:\_\___/_| |_|_\_|___/ : ::: : Web: http://www.dasprids.de : : E-mail : [EMAIL PROTECTED] : : Jabber : [EMAIL PROTECTED] : : ICQ: 105677955 : ::: -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFI98Ls0HfT5Ws789ARArG6AJ9HQbX8cqu2c+94KTTtZoy6feqTUACfapcU ja+vkvUo0esspA80H59TthY= =MzEv -END PGP SIGNATURE-
[fw-general] XMLRPC Server Performance
Hey guys, I'm planning to use Zend_Xmlrpc_Server for my API. I have it working, and so far, it's been super. It's made everything incredibly easy to do. My only issue so far has been performance, and a weird quirk that I've found through a bit of testing. Based on a previous issue ( http://framework.zend.com/issues/browse/ZF-3280), I'm not using Zend_XmlRpc_Server_Cache, and I am using the APC opcode cache (which has driven down memory usage considerably, but speed still remains an issue). This kind of leads me down the path of guessing the CPU usage is the main bottleneck. So, I made my XmlrpcController like so (with other setup omitted, obv.): public function indexAction() { $overall_start = microtime(true); $start = microtime(true); $this-setClasses(); // sets about 10 classes into the server, for about 150 (?) functions total $elapsed = microtime(true) - $start; API_Logger::debug(Got server in [$elapsed] seconds); $start = microtime(true); $ret = $this-server-handle(); $elapsed = microtime(true) - $start; API_Logger::debug(Handled response in [$elapsed] seconds); $overall_elapsed = microtime(true) - $overall_start; API_Logger::debug(Overall request time [$overall_elapsed]); API_Logger::debug(); die($ret); } Now, the interesting thing that I've discovered is that one client request at a time seems to respond in a decent amount of time. My output looks like so: 2008-10-16 22:38:36 INFO (6): [6313] Got server in [0.25338101387] seconds 2008-10-16 22:38:37 INFO (6): [6313] Handled response in [0.103404998779] seconds 2008-10-16 22:38:37 INFO (6): [6313] Overall request time [0.360664129257] 2008-10-16 22:38:37 INFO (6): [6313] However, when I make three requests to the same method at the same instant (using firefox refresh all tabs, ha), each request is quite a bit slower: 2008-10-16 22:41:53 INFO (6): [6724] Got server in [0.860436916351] seconds 2008-10-16 22:41:53 INFO (6): [6465] Got server in [0.796639919281] seconds 2008-10-16 22:41:53 INFO (6): [6736] Got server in [0.816692113876] seconds 2008-10-16 22:41:53 INFO (6): [6465] Handled response in [0.284796953201] seconds 2008-10-16 22:41:53 INFO (6): [6465] Overall request time [1.13558387756] 2008-10-16 22:41:53 INFO (6): [6465] 2008-10-16 22:41:53 INFO (6): [6724] Handled response in [0.300675868988] seconds 2008-10-16 22:41:53 INFO (6): [6724] Overall request time [1.1651570797] 2008-10-16 22:41:53 INFO (6): [6724] 2008-10-16 22:41:53 INFO (6): [6736] Handled response in [0.293844938278] seconds 2008-10-16 22:41:53 INFO (6): [6736] Overall request time [1.17823600769] 2008-10-16 22:41:53 INFO (6): [6736] As I increase the number of simultaneous requests, the difference is more and more drastic. As the requests to the API server start to pick up, the box is brought to its knees pretty quickly. The CPU usage on the box is pegged, while memory isn't that much of a problem. More hardware would help, but not forever, if I want the API server cluster to start getting decent 3rd party usage. So, my question is, is there something I can do? Can I put the server on a ramdisk? Can I use memcached to cache $this-server in my example above? I'm running this out of Apache, and would a more drastic move of trying lighttpd and fastcgi be a path to explore (b/c php stays in memory)? Failing all that, this is a plea for help. :) thanks in advance, - hoopes
Re: [fw-general] Zend_Acl MVC Integration is ready for review
Aldemar Bernal-3 wrote: I just finished the work in this component, comments about it are welcome. http://framework.zend.com/wiki/pages/viewpage.action?pageId=39025 Hi Aldemar, thanks for this. Ive implemented this in my application, but am having problems with it using modules. do i need to specify every single controller in the resource list and allow list? or can i just say guest is allowed to default module and admin allowed to default and admin modules? /** Creating the ACL object */ //require_once 'Zend/Acl.php'; $acl = new Zend_Acl(); /** Creating Roles */ $acl-addRole(new Zend_Acl_Role('guest')); $acl-addRole(new Zend_Acl_Role('cmsadmin'),'guest'); // Define our controllers as resources. $acl-add(new Zend_Acl_Resource('admin')); $acl-add(new Zend_Acl_Resource('admin:login')); $acl-add(new Zend_Acl_Resource('default')); // Define our group access rules. Syntax is $acl-allow('User Group', 'module:Controller(?))', 'Action'); $acl-allow('guest','admin:login') ; $acl-allow('guest','default'); // alow access to the default module $acl-allow('cmsadmin','admin') ; // allow access to the admin module? /** Registering the Plugin object */ $aclPlugin = new App_Plugin_Acl($acl); $aclPlugin-setDeniedAction('index','error','default'); $frontController-registerPlugin($aclPlugin); Thanks for any help. Will -- View this message in context: http://www.nabble.com/Zend_Acl---MVC-Integration-is-ready-for-review-tp14997448p20027075.html Sent from the Zend Framework mailing list archive at Nabble.com.