Home

Awesome

THIS PROJECT IS NO LONGER MAINTAINED AS I HAVE SWITCHED TO RUBY ON RAILS.

OH, AND PLEASE STOP SENDING ME PHP JOB OFFERS, I'M NOT INTERESTED IN COMING BACK.


Kohana 3.2 CRUD using Formo and ORM

As I couldn't find any usable CRUD, I've decided to create my own. It's based on Formo and Kohana's ORM.

I've included both HTML+PHP and Haml templates as I'm using Kohana3-Haml. If you wish to create more templates for different template systems, be my guest and create a pull request :)

Requirements

How to use it

Everything is pretty much straightforward and uses existing codebase. Rules for form are created using default ORM's rules() method (see http://kohanaframework.org/3.2/guide/orm/validation on how to use it), and additional parameters (like to ignore ID in form) is in formo() method (see Formo's documentation for both parameters and how to use them in your model)

Your most basic controller would probably look something like this:

<?php
class Controller_Crud_Products extends Controller_Crud
{	 
	protected $_index_fields = array(
	'id',
		'name'
	);

	protected $_orm_model = 'product';
}

And basic model would be:

<?php
class Model_Product extends ORM
{
	public $_belongs_to = array('category' => array());

	public function formo()
	{
		return array
		(
			'id' => array
			(
				'render' => false
			),
		);
	}

	public function rules()
	{
		return array
		(
			'name' => array
			(
				array('not_empty')
			),
		);
	}
}

I've also included a sample route in init.php, feel free to copy it to your bootstrap.php and modify it to suit your needs.

Documentation

No need. No, seriously, everything you'd want is already covered somewhere else. Good places to start:

Everything configurable is covered in Kohana_Controller_Crud comments.