How to create a basic plugin front-end controller? I'm trying to create a very simple controller from a "foo plugin", but it seems there is something i did not understand because i can't make it work. (404 error)
I looked at contactForm plugin as an example; except i'm trying to respond to a "GET" http request.

My plugin is enable and OK. 
My plugin is "foo". Here is my controller, in plugins/foo/controllers :

&lt;?php
namespace Craft;

/**
 * Contact Form controller
 */
class fooController extends BaseController {

  function actionHello() {
     $this-&gt;renderTemplate('foo/test');
  }

}
?&gt;


This is not supposed to be called with this uri ?

http://craft.local/index.php?p=actions/foo/Hello


Must i register a route to make this work ?

Also tried renaming my controller and class to "foo_testController", and then calling :

http://craft.local/index.php?p=actions/foo/test/Hello


without success.

What am i missing ?
I solved the problem using Pascal Case for naming all my files and classes. I was using camel Case...

So all works fine with those filenames for my "foo" plugin :


FooPlugin.php
controllers/FooController.php


I used Pascal Case for the classes name too, mainly for consistency reason; but i noticed that :


using camelCase for controller class name if the filename is in PascalCase does not break anything
using camelCase for plugin classname breaks the controller.


Anyway, if you don't want issues, juste use Pascal Case (file names and class names) everywhere and you should be Ok.

Please note that with apache, this path is calling my controller correctly (all in lower case)

actions/foo/hello