因此,我正在学习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]
您使用的是正确的大小写吗?函数名称区分大小写。另外linux是区分大小写的,所以如果你在index.php中有Index类,它将会失败。 – MiDri
对不起,你的意思是什么?是的,我正在使用Linux。 –
你的htaccess文件说:“如果试图访问domain.com/Foo将其变为domain.com/index.php?url=Foo在服务器上”好的url是不区分大小写的,但是linux文件系统不是(你的php是什么脚本正在访问),因此索引和索引是文件系统上的不同位置。此外,函数/类是区分大小写的,所以如果您命名文件index.php并将Index类放入其中,您的脚本将尝试访问错误的文件(如果尝试了Index)或错误的类(如果尝试索引) – MiDri