Some Examples

Kohana 2nd Note:

  1. hello world! is within welcome.php located in application/classes/controller directory. It is the default controller. The code inside welcome.php is:
  2. <?php defined(‘SYSPATH’) or die(‘No direct script access.’);

    class Controller_Welcome extends Controller {

    public function action_index()

    {

    $this->request->response = ‘hello, world!’;

    }

    } // End Welcome

  3. These are some of the important files and their location to be aware of:

application/classes/controller/welcome.php

system/classes/config.php

application/bootstrap.php


Let’s create a test script and call it try1.php and upload it to application/classes/controller directory. This is the deafault controller path. The default controller is welcome.php.

try1.php is :

<?php defined(‘SYSPATH’) or die(‘No direct script access.’);

class Controller_Try1 extends Controller {

public function action_index()

{

echo ‘<p>Executing try1.php</p>’;

echo ‘<p>More paragraph.</p>’;

$this->request->response = ‘Using request response to display this line.’;

}

} // End Welcome

Some notes about try1.php:

Controller is a Kohana class. All application controllers will extend this class. Your application may have just one controller, or it may have many, depending on how it is organised. A single method, index() is defined. If the controller is invoked without a method segment, this function is called.


Ability to choose from several functions within a controller:

Create a file named application/classes/controller/hello.php with these codes in it:

<?php defined(‘SYSPATH’) OR die(‘No Direct Script Access’);

Class Controller_Hello extends Controller_Template{

public $template = ‘site’;

function action_index() {

$this->template->message = ‘hello, world! from Function index within hello.php.’;

}

function action_x() {

$this->template->message = ‘Running Function x within hello.php!’;

}

}

Create another file named application/views/site.php with these codes in it:

<html>

<head>

<title>We’ve got a message for you!</title>

<style type=”text/css”> body {font-family: Georgia;} h1 {font-style: italic;} h2 {font-style:oblique} </style></head>

<body>

<h1><?php echo $message; ?></h1>

<h2>Note: Above comment is passed from hello.php to this site.php.</h2>

<p> This line and above line (Note: A…) are strictly being displayed from within site.php</p>

</body>

</html>

You can select with function from within hello.php to be executed by loading one of these urls:

http://yoursite.com/kohana/index.php/hello

This will run index() function of hello.php

http://yoursite.com/kohana/index.php/hello/x

This will run x function of hello.php

Site.php


Jay Kajavi