当我访问不存在路由的类时,如何在codeIgniter中设置默认函数?

2024-07-04

控制器是这样的:

class Abc extends CI_controller{
  public function index(){...}

  public function f1(){...} 
}

如果网址是http://host/app/Abc/index它得到函数索引
如果网址是http://host/app/Abc/f1它得到函数 f1
如果网址是http://host/app/Abc它获得函数索引,因为它是默认的
但如果网址是http://host/app/Abc/f2它打印 404 未找到

我预计如果 url 是http://host/app/Abc/f2它可以转向索引功能。
如果不能这样做,我想自动添加新功能,我该怎么办?

EDIT
我只想在特定类中使用它,我可以编辑全局路由吗?如何?


有两种方法可以做到这一点:首先编辑routes.php文件并将404_override更改为控制器函数,这会将所有404请求重定向到该控制器函数

form
$route['404_override'] = 'welcome';

to
$route['404_override'] = 'ABC/index';

第二个选项是在控制器内,您可以使用 _remap 方法/函数来检查函数/方法是否存在。控制器会是这样的

class Abc extends CI_controller{

  function _remap($method_name = 'index'){

             if(!method_exists($this, $method_name)){
                $this->index();
             }
             else{
                $this->{$method_name}();
             }
         }

  public function index(){...}

  public function f1(){...} 
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我访问不存在路由的类时,如何在codeIgniter中设置默认函数? 的相关文章

  • codeigniter 中的会话超时动态

    我有关于 codeigniter Timeout 的问题 我知道配置文件夹手动设置会话超时 如 l config sess expiration 123 但我需要网站管理员在管理页面动态管理会话超时 请帮助我如何实现这个逻辑 我尝试了这个逻
  • 如何解决phpmyadmin超时问题?

    我想要导入巨大的 at least300 mb 通过 phpMyAdmin 的 SQL 脚本 我试过了 post max size 750M upload max filesize 750M max execution time 300 m
  • PHP项目的文件夹结构[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我决定从头开始完全重写我的旧 PHP 项目 之前 我每一页都有一个文件 现在我想使用具有一个入口点的 MVC 模式方法 该项目本身相当大 我正在
  • $.getJSON 和 PHP 文件

    是否可以隐藏 php 文件的名称 document ready function getJSON getdata php function returned data if returned data 1 div wall html use
  • 导出/下载表 HTML-PHP 到 Excel 文件

    我有一个 HTML PHP 表格 可以从 mySQL 中提取数据 请看这里link https anakpanti com ab cargo controllers searchshipment 例如 请搜索此发货代码以获取表格内的结果 4
  • 函数内的函数。?

    此代码生成的结果为 56 function x y function y z return z 2 return y 3 y 4 y x y y y echo y 知道里面发生了什么吗 我很困惑 X 返回 值 3 而 Y 返回 值 2 给定
  • 在提交之前合并 $_GET 变量[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我不太确定这是否可能 但这是我无法弄
  • 上传时防止空闲状态(iOS 上的 Web 应用程序)

    我正在构建一个将在移动和桌面上使用的网络应用程序 在 iOS 上进行测试后 我注意到我的手机将进入空闲状态 屏幕关闭 返回时显示锁定屏幕 即使有是一个正在上传的文件 ajax上传 有什么办法可以防止这种情况发生吗 我正在通过将应用程序作为
  • 是否可以通过简单地交换一些文件来恢复 Postgres 数据库以提高速度?

    这是一个一般的 Postgres 备份和恢复方法问题 基于以下非生产服务器 即本地测试服务器 的用例 我有一个大约 20gb 的数据库 在测试 php 脚本期间我会破坏它 这将导致需要经常删除它并重新创建它 运行转储的 SQL 来恢复它需要
  • 在 PHP 中组合数组

    尝试学习 PHP 中的数组 为简洁起见 发布了片段 HTML 表单在这里 p What are your favorite type of cookies p
  • 从控制器访问 Liip Imagine 包 - 将服务分配给变量 (Symfony 4)

    On Symfony 4 如何从 PHP 代码中访问 Liip Imagine 包 https stackoverflow com questions 54543563 symfony 4 how do i access the liip
  • PHP url 函数和子域

    我有一个网站thenoblesite com 它有一些子域 即 download thenoblesite com壁纸 thenoblesite com etc 子域的页面位于主 htdocs 文件夹中 即 httpdocs downloa
  • 如何使用 Android Volley 显示/请求 JSON 对象?

    我在 Android Studio 中遇到如何请求 JSON 对象的问题 我的 Logcat 只能打印 String onResponse 而不能打印 JSONObject 值 我在 AccessActivity java 内的 try 行
  • php curl 获取 html 和 js 渲染

    php curl 只获取html页面的源代码 不执行js脚本 我需要我的网站获取已执行所有 JavaScript 的源代码 我使用ajax 但无法在页面中添加更多js 因为当我加载另一个页面时脚本会保留 我找到了 SpiderMonkey
  • PHP 警告:模块“mcrypt”已加载

    当我使用 PHP 运行命令时 它显示一个错误 例如当我跑步时php v查看我的 PHP 版本 它显示一个错误 然后显示有关 PHP 的信息 模块 mcrypt 已加载到第 0 行的 未知 中 zied ubuntu php v PHP Wa
  • 根据所选付款方式更改 WooCommerce 提交结帐按钮文本

    I tried 更改 WooCommerce 中特定付款方式的结帐提交按钮文本 https stackoverflow com questions 45739331 change checkout submit button text fo
  • PHP:如何使图像中的绿色区域(背景)透明?

    我是 Stackoverflow 的新人 我非常想弄清楚是否可以使用 PHP 脚本使图像的特定颜色透明 如果是的话 该如何去做呢 假设这是背景颜色 绿色 必须完全透明的图像 法国热狗带绿色背景 http clubace dk hotdog1
  • 从 android 发送数组并使用 Volley 在 PhP 服务器接收

    你好我想发送一个字符串值数组到 PhP 服务器和 PhP 解码并将它们存储在 PhP 变量中 这是我在 android studio 的代码 private void getEventDetailRespond RequestQueue r
  • Zend 框架表单与 jquery

    有人知道如何使用 Zend Form 和 jquery 简单地创建一个表单吗 我想使用 Zend Form 来验证表单 这样我就不必在 JavaScript 和 PHP 中编写表单的双重脚本 谢谢你 伊沃 特罗姆伯特 那里没问题 如果您使用
  • 如何构建我的 PHP 项目?

    我即将开始另一个大型 PHP 项目 这次 我打算让项目文件夹变得整洁 所以我有几个关于保持我的项目干净和干燥的问题 如何区分 PHP 源文件和浏览器应访问的 PHP 文件 换句话说 我如何清楚哪些 PHP 文件提供输出 哪些提供函数或类定义

随机推荐

  • 使用 ctypes 检索本机基类的地址

    我希望能够将证书传递给 Python 的 ssl 库 而不需要临时文件 看来Python的ssl模块不可以这样做 https stackoverflow com questions 12336239 为了解决这个问题 我想检索底层SSL C
  • 导航到 IE 中的数据 URI

    我有这个非常简单的 HTML a href Static a 在 Chrome 或 Firefox 中 它会下载red png正如预期的那样 在 IE 中 它会导航到错误页面 看到它JSFiddle http jsfiddle net di
  • 在配置文件中定义 RabbitMQ 策略

    我想默认为所有队列定义镜像 我目前必须use rabbitmqctl https www rabbitmq com ha html examples一旦节点启动 rabbitmqctl set policy ha all ha mode a
  • 在R中绘制多个不同尺寸和坐标的3D盒子

    最近我偶然发现了 R 中的 rgl Package 它可以用来创建交互式 3D 绘图 现在我想在一个 3d 图中可视化一组盒子 Box B 具有笛卡尔坐标 B coord x y z 对应于左下后角 尺寸 B dim x1 y1 z1 显然
  • Rails 未在 ajax 帖子上重新加载会话

    我在使用 jQuery 的 Rails 和 ajax 中遇到了一个非常奇怪的问题 尽管我不认为它特定于 jQuery 我的 Rails 应用程序使用 cookie 会话存储 并且我有一个非常简单的登录 可以在会话中设置用户 ID 如果会话中
  • 有没有基于 Maven 的 HTML 验证器

    我有一个包含许多 HTML 文件的项目 作为 Maven 构建过程的一部分 我想在这些文件上运行验证器以确保 这些文件在语法上是正确的 例如检查所有开始标签是否都有相应的结束标签 文件符合编码指南 有人可以推荐一个好的验证器来做到这一点吗
  • 以编程方式崩溃后重新启动应用程序 - Android

    有没有办法让我的应用程序在崩溃时自动重新启动 我的应用程序只是一个简单的媒体渲染应用程序 但是它偶尔会崩溃 应该是这样 这是可能吗 谢谢 我的代码看起来像这样 public void Play if mp null mp reset mp
  • 参数 Action 其中 T3 可选

    我有以下代码 public static MyMethod Do something ProtectedMethod param1 param2 Do something protected static void ProtectedMet
  • 如何在 JavaScript 中的类名语法中连接字符串?

    我有一个像这样的巨大字符串 i class i 我有一个变量叫做icon 我需要放置icon在两个引号之间 虽然感觉很简单 但我一直在努力理解它 有人可以帮忙吗 这里是 JS 新手 字符串的分隔符是 所以结束 连接icon 并恢复 cons
  • v-on:click事件Vue.js显示用户帖子

    我是一名学生 刚刚接触 Vue js 所以我对它还很陌生 现在我正在制作一个项目 我从 API 获取用户名 当您单击用户时 它必须显示相关帖子 但这不起作用 当我通过 v on click 事件单击按钮时 什么也没有发生 即使在控制台中也没
  • JBOSS给出org.apache.kafka.common.KafkaException:auth.conf无法读取

    当我在 wildfly v 10 中部署简单的 kafka 项目 作为 jar 运行良好 的 war 时 我收到一些 Zookeeper 连接异常 1 当 kafka 侦听器开始与 Zookeeper 连接时会发生这种情况 1 15 21
  • Boost MPL:仅当(成员)函数存在时才调用它

    我有一个类 A 它有一个模板参数 T 在某些用例中 类 T 提供了函数 func1 而在某些用例中 类 T 不提供该函数 A 中的函数 f 应该调用 func1 只要它存在 我认为这应该可以通过 boost mpl 实现 但我不知道如何实现
  • 远程控制内网机器上安装的windows服务

    我在本地 IIS 7 上部署了 Web 应用程序 并将应用程序池配置为在内置 NETWORK SERVICE 帐户下工作 我需要从这个 Web 应用程序检查 Windows 服务的状态 是否已启动 已停止等 我用这样的语句来得到它 publ
  • 如何在 Eclipse 中正确管理 Tomcat Web 应用程序?

    我曾经在我的机器上单独运行Tomcat 我有一个 Ant 脚本 可以重建我的项目 在本地部署它 然后重新启动 Tomcat 一切正常 但我无法在 Eclipse 中调试 Web 应用程序 因此 我学习了如何在 Eclipse 中设置 Tom
  • 在C++头文件中定义常量变量

    我正在开发的一个程序有许多适用于所有类的常量 我想制作一个头文件 Constants h 并能够声明所有相关的常量 然后在我的其他课程中 我可以包括 include Constants h 我使用它可以正常工作 ifndef define
  • 在lua中使用for循环创建多个变量

    我想使用for循环在lua中创建多个变量 除了最后一个字符之外名称相同 for i 1 10 1 do marker i do things end 我想要得到的几乎是 marker0 marker1 marker2 等等 我猜marker
  • 如何配置 go 命令以使用代理?

    我想跑go install安装tour http tour golang org 2 但我找不到使用代理访问互联网的选项 我不仅需要它来游览 还需要它来进行一般的 Go 开发 如何配置 Go 使用代理 Go 程序理解环境变量http pro
  • Tox 警告:在 testenv 中找到但未安装测试命令

    我在我的项目中使用 tox 这是我的tox ini file tox envlist py27 lint coverage skipsdist True testenv py27 deps rrequirements txt command
  • 如果不为空,则选择列值,否则使用另一个列值

    我在 mysql 表中有 2 列 a 和 b a 始终是字符串值 b 有时是字符串值 有时为 null 如何构造一个 mysql SELECT 以便如果 b 不为 null 则采用 b 否则采用 a 我尝试用 concat 创造一些魔法 如
  • 当我访问不存在路由的类时,如何在codeIgniter中设置默认函数?

    控制器是这样的 class Abc extends CI controller public function index public function f1 如果网址是http host app Abc index它得到函数索引如果网址