Kohana 2nd Note:
- hello world! is within welcome.php located in application/classes/controller directory. It is the default controller. The code inside welcome.php is:
- These are some of the important files and their location to be aware of:
<?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
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