我有一个简单登录表单的以下数据流.
用户访问控制器PHP文件.控制器包括model.php和view.php
用户提交表单,控制器将POST数据发送到模型方法,并返回结果.
用户登录,并由控制器转发到不同的视图(登录成功消息).
目前我的观点是静态HTML(没有PHP),所以这是我的问题.然后向用户传递欢迎信息的正确方法是什么,例如"Hello,Craig!"?
视图是否允许PHP片段,例如
<?php echo $username; ?>
Run Code Online (Sandbox Code Playgroud)
既然模型在控制器文件中加载之前呢?
谢谢!
编辑:更好的做法是允许视图访问特定的类方法,例如
<?php $user->getUsername(); ?>
Run Code Online (Sandbox Code Playgroud)
而不仅仅是变量?
基于其他答案,我发现了一篇非常有用的文章,您可能也会感兴趣.
http://www.nathandavison.com/posts/view/7/custom-php-mvc-tutorial-part-5-views
我希望这很简单,我错过了一些明显的东西!
我正在尝试删除数组中与某个字符串匹配的所有元素.这是一个基本的1D阵列.
array("Value1", "Value2", "Value3", "Remove", "Remove");
Run Code Online (Sandbox Code Playgroud)
我想结束
array("Value1", "Value2", "Value3");
Run Code Online (Sandbox Code Playgroud)
为什么不起作用array_filter($array, "Remove");?
谢谢.
我正在构建一个小的PHP MVC,而且我已经在一个小区域编码的墙上.我想我需要"部分视图",但我可能能够使用现有代码实现某些功能.
我的控制器目前是最简单的形式:
目前的观点:
一切都很好,但是控制器和视图中的代码现在变得相当大,我已经达到了需要在主视图(1和2)中包含"模块"或子视图的情况.
例如,如果加载了view2,那么我需要显示(作为view2的一部分)另一个视图,比如3部分注册注册表单.此注册表单也附带了自己的控制器文件.
我可以做这样的事情,它可以工作并让你知道我想要做什么,但我承认这打破了MVC设计模式.
视图
<div id="mydiv">Some content</div>
<div id="mysignup"> <?php include('controller_signup.php'); ?></div>
<div id="content"> The views main page content </div>
Run Code Online (Sandbox Code Playgroud)
然后将视图从控制器中拉出,放在正确的位置.
如上所述,我认为我需要使用部分视图,但是我发现的大多数信息都是针对ASP的,而且我有点丢失了!
我原以为这是一个相当普遍的问题,所以我认为有一个明显的解决方案!
谢谢!
我的被调用的AJAX文件应该驻留在典型的PHP MVC框架中?
这是逻辑,所以我假设模型文件夹,但同时它作为控制器功能的一部分?
谢谢!
感谢所有的回复,特别是zerkms.
JS将构成视图的一部分,这将是AJAX请求URL.URL将是一个独立的控制器(可能是一个AJAX控制器),它将为JS提供它的数据源.