zoukankan      html  css  js  c++  java
  • CodeIgniter 2.x和3.x修改默认控制器问题解答

    首先明确一点,CodeIgniter框架的2.x和3.x版本中修改默认控制器是有一点区别的

    但相同的操作都是修改application/config/routes.php

    $route['default_controller'] = "welcome";
    

    welcome为默认的控制器,通过该值来达到修改默认控制器的目的。假如我要把默认控制器设为home,只需要

    $route['default_controller'] = "home";
    //$route['default_controller'] = "home.html";

    默认的扩展名是.php,如果扩展名不是.php的话,请加上扩展名,如上面代码的第二行。

    有时候,可能控制器太多了,为了方便,一般都创建几个文件夹来保存控制器,但是,这个时候,修改默认控制器的时候,你就得小心了

    因为在CodeIgniter 2.x中设置默认控制器时支持包含路径,即支持包含一级目录,而且只支持一级目录,即  目录/控制器名

    比如在application/controller/下有一个test目录,test目录下有一个home控制器,要将该home目录设为默认控制器可按照下面代码完成

    $route['default_controller'] = "test/home";
    

    注意下:目录名中不要包含点 '.'   ,不然点后面的一段就会当成控制器,然而,你并没有那个控制器 

    重点来了:CodeIgniter 3.x是不支持设置默认控制器时用一级目录的形式,即上面的代码并不会管用,

    你只能在那个位置填控制器名,而不能有目录

    不然,即使你填了一级目录,那你访问的时候显示的也是404错误

    然而,虽然3.x不能设置一级目录,但是可以通过URL访问有多级目录的控制器中的方法,

    比如在文件的application/controllers/admin/Hello.php中有一个默认的index方法

    那么就可已通过 ..../index.php/admin/hello/index来访问

  • 相关阅读:
    常用函数
    小工具
    javascript实现的平方米、亩、公顷单位换算小程序
    在spring boot 项目中使用thymeleaf模板
    IntellJ IDEA 中JAVA代码的任务标记(TODO、FIXME、【XXX】)
    XMPP学习
    iOS绘图教程(个人学习总结)
    iOS: #ifdef DEBUG
    iphone sdk版本宏
    xmpp
  • 原文地址:https://www.cnblogs.com/-beyond/p/7624283.html
Copyright © 2011-2022 走看看