# 控制器定义
为了实现我们的业务逻辑,我们需要根据业务来划分模块,通常我们会将一个模块视作一个Controller控制器,将这个模块需要的所有功能方法都放在这个Controller文件中。
* * * * *
以下是默认的/app/Controller/IndexController.php控制器文件中的代码。
~~~
class IndexController extends Controller{
public function __construct(){ }
public function index(){
$data["hello"] = "<h1 style=\"text-align:center;\">欢迎使用MAGPHP微框架!</h1><br/>";
$this->display($data);
}
}
~~~
<br/><br/>
## 控制器文件命名
文件通常放在 **应用目录** 下 > **Controller目录** 下。
~~~
例1:app应用下Index控制器 = /app/Controller/IndexController.php
例2:app应用下News控制器 = /app/Controller/NewsController.php
例3:admin应用下User控制器 = /admin/Controller/UserController.php
~~~
<br/><br/>
## 控制器基本代码
~~~
//自定义控制器类需要继承与Controller类
class IndexController extends Controller{
//这是控制器的默认方法
public function index(){
echo '这是Index控制器的index方法。在inex()方法里写你的业务逻辑代码。';
}
}
~~~
<br/>
例:自定义News控制器
~~~
class NewsController extends Controller{
//这是控制器的默认方法
public function index(){
echo '这是News控制器的index方法。';
}
}
~~~
<br/><br/>
## 定义类方法
方法的命名需要与URL中方法参数值的名称完全一致,包括大小写与符号,否则将找不到方法运行。
例1:实现Index控制的getuser()方法,访问URL为http://localhost/index.php/Index/getuser
~~~
class IndexController extends Controller{
public function getuser(){
echo '这是Index控制的getuser方法';
}
}
~~~
例2:实现News控制的body()方法,访问URL为http://localhost/index.php/News/body
~~~
class NewsController extends Controller{
public function body(){
echo '这是News控制的body方法';
}
}
~~~
<br/><br/>