PHP-视图中控制器的函数
我正在尝试学习MVC模式(但是没有模型,因为我看不到当我有控制器时可以使用它们) 所以我想在我的视图中显示一些内容。我该怎么做 这是我的控制器,负责索引:PHP-视图中控制器的函数,php,oop,model-view-controller,Php,Oop,Model View Controller,我正在尝试学习MVC模式(但是没有模型,因为我看不到当我有控制器时可以使用它们) 所以我想在我的视图中显示一些内容。我该怎么做 这是我的控制器,负责索引: <?php class Index extends Controller { function __construct() { parent::__construct(); $this->view->render('mainpage/index'); } publ
<?php
class Index extends Controller {
function __construct() {
parent::__construct();
$this->view->render('mainpage/index');
}
public function wynik($arg) {
echo $arg;
}
}
$klasa = new Index();
?>
我想在我的视图中调用函数wynik($arg)。我该怎么做?我的控制器库如下所示:
<?php
class Controller {
function __construct() {
$this->view = new View();
}
}
?>
<?php
echo $klasa->wynik('abc');
// tried this too:
$this->wynik('abc');
?>
在views/mainpage/index.php中,我正在尝试以下内容:
<?php
class Controller {
function __construct() {
$this->view = new View();
}
}
?>
<?php
echo $klasa->wynik('abc');
// tried this too:
$this->wynik('abc');
?>
但它不起作用:
注意:第2行的C:\wamp\www\lvc\views\mainpage\index.php中的未定义变量:klasa
及
致命错误:在第2行的C:\wamp\www\lvc\views\mainpage\index.php中对非对象调用成员函数wynik()
这是视图库:
<?php
class View {
function __construct() {
}
public function render($name, $noInclude = false) {
if ($noInclude == true) {
require 'views/' . $name . '.php';
} else {
require 'views/header.php';
require 'views/' . $name . '.php';
require 'views/footer.php';
}
}
}
?>
我在想-是的,它在View()类中搜索wynik()函数,这就是它出错的原因。我希望视图在控制器中的函数中进行搜索。如何做到这一点?我建议您使用另一种称为“事务脚本”的概念,它可以很好地与前端控制器或应用程序控制器配合使用,而不是MVC,也不知道原因等等 使用事务脚本可以让您更加熟悉OOP,同时还可以从一些应用程序结构中获益,而不会产生被误解的MVC所带来的开销和问题 例如,在事务脚本对象中,所有内容都可以访问该事务的功能。您的库、视图和其他一切(模型) 然后你会看到事情在发展。但忘记Codeigniter和类似的东西,从头开始写(不要模仿),你会学到更多,你会有更高效的代码 你会按照自己的方式去做,这对学习很有好处
对于库,只需从Packagist和Pear存储库中获取内容,您就不会有太多愿望了。我建议您使用另一个称为事务脚本的概念,它也可以很好地与前端控制器或应用程序控制器配合使用,而不是MVC 使用事务脚本可以让您更加熟悉OOP,同时还可以从一些应用程序结构中获益,而不会产生被误解的MVC所带来的开销和问题 例如,在事务脚本对象中,所有内容都可以访问该事务的功能。您的库、视图和其他一切(模型) 然后你会看到事情在发展。但忘记Codeigniter和类似的东西,从头开始写(不要模仿),你会学到更多,你会有更高效的代码 你会按照自己的方式去做,这对学习很有好处
对于库,只需从Packagist和Pear存储库中获取内容,您就不会有太多愿望了。MVC是一种结合了两个层的设计模式:
- 模型层
- 表示层
表示层主要由两组结构组成:视图和控制器
- 控制器:负责响应用户的输入,并在此基础上更改模型层和视图的状态
- 视图:根据视图从模型层接收到的信息,负责显示(或表示)逻辑。基于此信息,视图选择适当的响应-它可以是HTTP头文件或HTML文件,由多个模板或格式化的JSON/XML数据呈现
- 模型层
- 表示层
表示层主要由两组结构组成:视图和控制器
- 控制器:负责响应用户的输入,并在此基础上更改模型层和视图的状态
- 视图:根据视图从模型层接收到的信息,负责显示(或表示)逻辑。基于此信息,视图选择适当的响应-它可以是HTTP头文件或HTML文件,由多个模板或格式化的JSON/XML数据呈现