控制器

一、基本控制器形式
class GuestBookController extends Rong_Controller 
{
	public function indexAction()
	{
		echo "indexAction";
	}
	public function testAction()
	{
		echo "testAction";
	}
	
}
控制器一般放在controller目录中以"控制器名Controller.php"做为文件名,该文件只放一个控制器类,类名为"控制器名Controller",并且它是 Rong_Controller 的子类。
例如上面的控制器保存为GuestBookController.php
控制器中的方法中有"动作名Action()"为名称的,可以供给用户访问。访问的url为:
http://localhost/GuestBook/index   
http://localhost/index.php?C=GuestBook&A=index
http://localhost/index.php?do=/GuetBook/index
http://localhost/index.php/GuetBook/index

其中GuestBook就是控制器名称,index就是动作名称,它将访问GuestBookController.php中的GuestBookController类中的indexAction()方法。
参数中"C"是"Controller"的缩写, "A"是"Action"的缩写,这两种访问形式是等效的。 index动作一般是可以省略的,Index控制器也可以省略,所以可以这样访问GuestBook的index动作:
http://localhost/GuetBook
二、改变控制器的目录
在index.php中我们使用了Rong_Controller_Guide这个类,它是负责程序转发的任务。
Rong_Controller_Guide::setControllersDir( $newControllerDir ); 访方法就是用来改变控制器的存储路径的。$newController参数是新的控制器的路径。

require_once "Rong/Object.php";
require_once 'Rong/Controller/Guide.php';
$guide = new Rong_Controller_Guide();
$guide->setControllersDir( ROOT . "/install/application/controllers");
$guide->start();		
比如您的程序根目录在 http://localhost/install 下, 可以这样访问Index控制器的index动作了。
http://localhost/install/?C=Index&A=index
http://localhost/install/Index/index
http://localhost/install/index.php?do=/Index/index
打印出网站的Base Url,比如你的网站安装在/var/www/rong,则返回"/rong" , 如果安装在/var/www,则返回空串"",即返回的字符串后面不带"/"。
function indexAction()
{
   echo $this->uri->baseUrl; 
}