【问题标题】:Codeigniter 3 - subdirectory controllerCodeigniter 3 - 子目录控制器
【发布时间】:2017-08-01 04:09:17
【问题描述】:

我有一个与如何在子目录中添加控制器以更好地管理大量文件有关的问题 为此,我在控制器中有以下结构:

controllers
--admin
----projects
--------block.php
----projects.php
----dashboard.php

如果我要去admin/projects,控制器工作得很好,但如果我想选择admin/projects/block,它根本不起作用,会生成一个404页面

我什至尝试使用以下方法更改 route.php:

$route['admin/projects/block/(:any)']       = 'admin/projects/block/$1'; 

我做错了吗?你有什么想法吗?

【问题讨论】:

  • 推荐的模式是控制器/方法/ID。但是,如何处理路由是您的偏好。顺便说一句,你试过吗,admin/projects/block/sampletext?根据您的路由,我希望您应该在 block/ 之后有一个值。
  • 我确实尝试在块控制器中调用一个方法,但是.. 我猜 Codeigniter 想从项目控制器访问一个实际上代表不同控制器的方法..
  • 你能重命名你的控制器名称吗?您的控制器的第一个字母必须是大写字母。此外,控制器类名称应以大写字母 <?php class Block extends CI_Controller { 开头
  • 控制器确实是大写字母,但这里为了商品我跳过了那部分
  • admin/projects/block 将在您的项目控制器中寻找一个块方法...因为您还有一个名为项目的文件夹 - 您希望 CI 确定您在说什么.. . 重命名“项目”的东西之一...

标签: php codeigniter codeigniter-3


【解决方案1】:

看起来你做错了什么。正确的url格式是:SITE_ROOT/CONTROLLER/ACTION

因此,当您转到 admin/projects/block

你需要重写路由来做你想做的事情。

【讨论】:

    猜你喜欢
    • 2012-02-24
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多