Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
This module is a bridge between the Kohana PHP framework ( and the PHamlP library (
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config Merging experimental support of Ko 3.1 and Sass module, please feel a…
.gitmodules moved from phamlp 2.2 to d4rky-pl/phamlp fork (3.2 with patches)

This project has been dropped in favor of [kohana3-haml](

Looks like HamlPHP still needs a lot of work. Project is bringed back until bugs in HamlPHP are fixed.

Kohana PHamlP Module

This module is a bridge between the Kohana PHP framework and the PHamlP library.


This module is for Kohana 3.0+.


  • Download the source code, extract it and put it in your Kohana's modules directory.
  • Download phamlp and put it into vendor/ directory ( is recommended over the original version, but you can find other forks on github)
  • Enable the module in your bootstrap file (bootstrap.php under your application directory).
  • Copy and paste the configuration file (config/phamlp.php) to your application's config directory.
  • Make necessary changes to the configuration file to suit your needs.
  • Copy and paste the controller file (classes/controller/haml.php) to your controller directory if you want to customise it.




  • By default the view files have .haml as the file extension.

If you would like to take advantage of the Haml controller shipped with this module, simply:

  • Make sure the layout file exists (configurable by setting $this->$template in the controller).
  • Make sure the view files exist. View files follow the controller_name/action_name convention.

If you would like to take control of the view rendering yourself, you can:

  • Either don't inherit from Controller_Haml, or set $this->auto_render to false.
  • Call Haml::factory() instead of View::factory(), e.g. Haml::factory($view_file, $view_data, $haml_options).

Configuration Options

  • Default Haml options are configured in config/phamlp.php file - these apply to all Haml templates generated.
  • Optionally, you may set per controller or per action Haml options via $this->haml_options in your controller actions. These overrides the default options.

Assigning Variables

  • Assign view variables to $this->view_data, e.g. $this->view_data['title'] = 'My Website';.
  • You may use either View::set_global()/View::bind_global() or Haml::set_global()/Haml::bind_global() to set global view variables.
  • Haml::factory() returns a View object, so you may use bind(), set() and magic getter/setters on it.


  • Sass support.


Copyright (c) 2010 Fred Wu (, released under the MIT license.

Brought to you by Wuit -

Currently maintained by Michał Matyas (

Something went wrong with that request. Please try again.