2015-11-08 2 views
0

Итак, я изучаю PHP и начинаю с чего-то очень простого.Невозможно вызвать функцию в index.php с контроллера

Я пытаюсь вызвать функцию из файла в моей папке контроллера, но это не сработает.

Я был в состоянии ответить на все, что я набираю в строке URL, но он просто не распечатает сообщение в моем другом файле index.php как часть контроллера, но, конечно, продолжит эхо-сообщение ввод URL-адреса. Я что-то упускаю?

Так вот, что я сидел за пределами моих MVC папок, это файл index.php:

<?php 

$url = $_GET['url']; 

echo $url; 

require 'controllers/' . $url . '.php'; 
$controller = new $url; 
?> 

И вот что у меня есть в моем файле index.php в моей папке контроллеров, что я пытаюсь звоните:

<?php 

class Index { 

    function __construct(){ 
    echo 'We are in index'; 
    } 
} 

?> 

Мой .htaccess файл выглядит следующим образом:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L] 
+0

Вы используете правильный чехол? Названия функций чувствительны к регистру. Кроме того, linux чувствителен к регистру, поэтому, если у вас есть индекс Index в index.php, он будет терпеть неудачу. – MiDri

+0

Простите, что вы имеете в виду? И да, я использую Linux. –

+0

ваш файл htaccess говорит: «Если вы пытаетесь получить доступ к domain.com/Foo, включите его в domain.com/index.php?url=Foo на сервере». Хорошие URL нечувствительны к регистру, но файловая система Linux не является (что ваш php скрипт), поэтому индекс и индекс - это разные места в файловой системе. Кроме того, функции/классы чувствительны к регистру, поэтому, если вы назвали файл index.php и поместили в него класс Index, ваш скрипт попытается получить доступ к неправильному файлу (если вы попробовали Index) или к неправильному классу (если вы попробовали индекс) – MiDri

ответ

0

изменить ваш controller/index.php - controller/Index.php, если вы работаете в Linux, а затем попробуйте получить доступ к индексу со всеми строчными буквами.

+0

Я пробовал оба предложения, которые вы сделали. Но я все еще испытываю ту же проблему. –

+0

Какая ошибка вы получаете? – MiDri

+0

Нет никакой ошибки, она просто не отображает то, что я написал в файле index.php, через индекс класса. –

Смежные вопросы