Re: console help please

2008-11-21 Thread calzone

Cakebaker, at cakebaker.42dh.com, has resolved this issue for me
(http://cakebaker.42dh.com/2007/05/07/writing-a-custom-cakephp-console-
script/).  In case anyone else runs into this same issue some day, the
resolution is that my code was missing the controller initialization
after the instantiation:

$this-CitiesController = new CitiesController();
$this-CitiesController-constructClasses();

The cake manual has a page mentioning this under Developing With
CakePHP  Controllers  Controller Methods  Other Useful Methods 
constructClasses (http://book.cakephp.org/view/429/constructClasses).

For anyone who hasn't carefully perused the more basic sections in the
cake manual like Controllers, Models, and Views since v1, this
requirement when using the console can be pretty easy to miss.  I'm
adding a comment to the manual in the console section and hopefully
someone sees fit to expand on it as part of the console section
proper.

chris

On Nov 19, 3:26 pm, calzone [EMAIL PROTECTED] wrote:
 Sorry if this is a likely stupid question, but I can't seem to find
 the answer anywhere. Searching for CakePHP console examples outside of
 using it for ACL and baking seems mighty thin on google.  Maybe I'm
 overlooking something that should be obvious?

 The Backstory:
 I have cakephp doing some intensive data processing using many
 different actions in a specified sequence and even with pagination to
 avoid timeouts.

 I decided to try to automate this by setting up a cake shell function
 to go through all of the steps and then I can just invoke the magic
 from the command line and output report results into a file. I
 followed the example from this 
 page:http://twit88.com/blog/2008/02/14/php-writing-a-console-program-in-ca...

 The Issue:
 What is happening when I try to invoke a controller action from within
 a shell function is that I get the following error (this only happens
 when the controller action I invoke has within a call to a model
 method --as most controller actions are wont to do):

 Fatal error: Call to a member function on a non-object in /var/www/.../
 httpdocs/app/controllers/cities_controller.php on line 34

 Observations:
 1) The action I'm invoking works fine when called from a browser
 2) The 'member function' in question is none other than the standard
 built-in findAll(), which I would hope would be supported 'out of the
 box' when trying to invoke controller actions from the console.

 My Question:
 Am I approaching this the wrong way? Is there a shortcut to invoking
 controller actions from the console that I've overlooked?  App:import
 sure seems hacky.

 Reference:

 class ReportShell extends Shell
 {
 var $uses = array('City');
 var $tasks = array
 ('Project','DbConfig','Model','Controller','View','Plugin');
 var $CitiesController = null;

 function initialize()
 {
 $this-_loadModels();

 }

 function main()
 {
 App::import('Controller', 'Cities');
 $this-CitiesController = new CitiesController();
 $this-out($this-CitiesController-export_overall('Massachusetts'));

 }
 }
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
CakePHP group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~--~~~~--~~--~--~---



console help please

2008-11-19 Thread calzone

Sorry if this is a likely stupid question, but I can't seem to find
the answer anywhere. Searching for CakePHP console examples outside of
using it for ACL and baking seems mighty thin on google.  Maybe I'm
overlooking something that should be obvious?

The Backstory:
I have cakephp doing some intensive data processing using many
different actions in a specified sequence and even with pagination to
avoid timeouts.

I decided to try to automate this by setting up a cake shell function
to go through all of the steps and then I can just invoke the magic
from the command line and output report results into a file. I
followed the example from this page:
http://twit88.com/blog/2008/02/14/php-writing-a-console-program-in-cakephp/

The Issue:
What is happening when I try to invoke a controller action from within
a shell function is that I get the following error (this only happens
when the controller action I invoke has within a call to a model
method --as most controller actions are wont to do):

Fatal error: Call to a member function on a non-object in /var/www/.../
httpdocs/app/controllers/cities_controller.php on line 34

Observations:
1) The action I'm invoking works fine when called from a browser
2) The 'member function' in question is none other than the standard
built-in findAll(), which I would hope would be supported 'out of the
box' when trying to invoke controller actions from the console.

My Question:
Am I approaching this the wrong way? Is there a shortcut to invoking
controller actions from the console that I've overlooked?  App:import
sure seems hacky.

Reference:

class ReportShell extends Shell
{
var $uses = array('City');
var $tasks = array
('Project','DbConfig','Model','Controller','View','Plugin');
var $CitiesController = null;

function initialize()
{
$this-_loadModels();
}

function main()
{
App::import('Controller', 'Cities');
$this-CitiesController = new CitiesController();
$this-out($this-CitiesController-export_overall('Massachusetts'));
}

}

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
CakePHP group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~--~~~~--~~--~--~---