CodeIgniter - 脚本的放置位置

时间:2014-12-02 10:15:24

标签: php codeigniter frameworks

我不确定这是否是正确的地方,但由于您似乎几乎可以回答任何问题,我会尝试一下......

我正在尝试转换我的网站,使用 CodeIgniter 框架,我相信它没关系。我按照教程编写了一个控制器,可以显示所有基本页面。但是,我想将PHP脚本(如登录的脚本)放在一个单独的文件夹中,以便我有以下内容:

  • /应用/
    • /视图/
      • /页/
      • /脚本/
      • / templates /

pages 子文件夹是包含普通网站的子文件夹,而脚本文件夹包含脚本(对于奇怪的布局,使用列表感到抱歉)。我试图从页面修改控制器,处理脚本,所以它看起来像这样:

<?php

class Scripts extends CI_Controller {

    public function run($page = 'home') {

        if ( ! file_exists(APPPATH.'/views/scripts/'.$page.'.php')) {
            // Whoops, we don't have a page for that!
            show_404();
        }

        // Connect to database, using configuration from /application/config/database.php
        $this->load->database();

         // Capitalize the first letter
        $data['title'] = ucfirst($page);

        // Wrap header and footer around content, to define layout
        $this->load->view('templates/header', $data);
        $this->load->view('scripts/'.$page, $data);
        $this->load->view('templates/footer', $data);

    }
}

?>

然后我尝试使用以下URL调用位于/ application / views / scripts /中的文件(名为createNewProject.php)中的脚本:"/index.php/Scripts/run/createNewProject"。但是,我得到的回报是404错误。在脚本放置方面,我做错了什么,我甚至使用了良好的做法?

1 个答案:

答案 0 :(得分:0)

也许APPPATH给出一个尾随“/”的网址,试试

    if ( ! file_exists(APPPATH.'views/scripts/'.$page.'.php')) {
        // Whoops, we don't have a page for that!
        show_404();
    }

,而不是!