CodeIgniter方法详解

本文概述

  • 除index()以外的方法
  • 重新映射方法调用
在先前的Hello World示例中, 我们的方法名称为index()。默认情况下, Controller始终调用索引方法。如果要使用其他方法, 则将其写入Controller的文件中, 并在调用函数时指定其名称。
CodeIgniter方法详解

文章图片
看URL, 没有提到方法名称。因此, 默认情况下会加载索引方法。
除index()以外的方法 在这里, 我们提到了一种称为newFunction()的方法。现在我们必须调用此新方法来运行我们的程序。
在应用程序/控制器中创建一个控制器页面Hello.php。
< ?phpdefined('BASEPATH') OR exit('No direct script access allowed'); class Hello extends CI_Controller { public function newfunction() {$this-> load-> view('hello_world'); }}?>

看上面的快照, 我们创建了一个函数newFunction。
在application / views中创建一个视图页面hello_world.php。
< !DOCTYPE html> < html> < head> < title> Hello World Example< /title> < /head> < body> < p> Hello World!!< /p> < /body> < /html>

要在我们的浏览器上运行此程序, 请遵循路径
http://localhost/CodeIgniter/index.php/Hello/newFunction
CodeIgniter方法详解

文章图片
查看上面的快照, 我们将Controller的函数创建为newFunction, 并在Controller的名称后的URL中指定了它。
在这里, / index.php / Hello是控制器的名称。
/ newFunction是函数名称。
重新映射方法调用 URI的第二部分确定正在调用哪个方法。如果要覆盖它, 可以使用_remap()方法。
【CodeIgniter方法详解】如果你在控制器中提到了_remap()方法, 则即使URI不同, 也将始终调用该方法。它覆盖URI。
public function _remap($methodName){if ($methodName === 'a_method'){$this-> method(); }else{$this-> defaultMethod(); }}

    推荐阅读