расстраивает настройку codeigniter для запуска простой программы - PullRequest
0 голосов
/ 02 марта 2012

Мой файл route.php

$route['default_controller'] = "pxml";
$route['pxml/(:any)']="xml/pxml";
$route['404_override'] = '';

мой файл index.php

<!DOCTYPE html>
<html>
    <head>
            <title>Reading/Writing XML</title>
    </head>
    <body>
        Welcome to reading/writing XML!
        <a href="loadXML">Display</a>
    </body>
</html>

файл моего класса Pxml.php

class PXml extends CI_Controller
{
    private $pFunc;
    public function __construct()
    {
        parent::__construct();
        $this->pFunc=new PFunc();
    }
    public function index()
    {
        if(!file_exists('application/views/xml/index.php'))
        {
            show_404();
        }
        $this->load->view('xml/index');
    }
    public function loadXML()
    {
        if(!file_exists('application/views/xml/books.php'))
        {
            show_404();
        }
        else
        {
            if(!file_exists('application/controllers/books.xml'))
            {
                show_404();
            }
            $data['xml_data']=$this->pFunc->ReadXML('books.xml');
            if($data['xml_data']!=null)
            {
                $this->load->view('xml/books',$data);
            }
            else
            {
                echo "Fail to load XML file";
            }
        }
    }
}


?>

My books.php

<?php    
    echo <<<EOF
    <table>
        <tr>
            <th>Title</th>
            <th>Author</th>
            <th>Publisher</th>
            <th>Price at Amazon.com</th>
            <th>ISBN</th>
        </tr>
    EOF;
    foreach($xml_data as $book)
    {
        echo <<<EOF
        <tr>
            <td>{$book->title}</td>
            <td>{$book->author}</td>
            <td>{$book->publisher}</td>
            <td>{$book->amazon_price}</td>
            <td>{$book['isbn']}</td>
        </tr>
        EOF;
    }
    echo '</table>';
?>

Я мог бы достичь индекса, но когда я нажимаю ссылку на дисплей, я получаю ошибку 404.

Также я создал подпапку с именем xml в контроллерах для хранения файла pxml. и подпапка с именем xml в представлениях для хранения всего файла представления. Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 03 марта 2012

попробуйте изменить ссылку для отображения на что-то вроде этого.

<a href="<?php echo site_url('pxml/loadxml')?>">Display</a>

Также вы проверили, выбрасывает ли CI 404, поскольку он не может найти представление ИЛИ не может найти сам контроллер?

0 голосов
/ 02 марта 2012

CI требует, чтобы все имена файлов были строчными.

Измените

Pxml.php

на

pxml.php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...