I normally tend to use singular/plural to distinguish from model/controller. That being said, this is how I do things:
Model
- File name: app/classes/model/userspace.php
- Class name: Model_Userspace
This is also FuelPHP's naming convention (at least for Models). This way you don't have to specify the table name on the model, like so:
protected static $_table_name = 'userspaces';
because FuelPHP will look for the plural version of your model name.
Controller
- File name: app/classes/controller/userspaces.php
- Class name: Controller_Userspaces
Views
- Folder: app/views/userspaces/
This keeps things organized per controller name. For each controller action, a view should be created. So, if you have a create and edit action in your Controller_Userspaces, you will create the following files:
- Create: app/views/userspaces/create.php
- Edit: app/views/userspaces/edit.php
Forging the views should be a matter of calling:
View::forge('userspaces/create');
View::forge('userspaces/edit');
You should check the FuelPHP ORM documentation for more information.