小编Cra*_*son的帖子

基本的MVC(PHP)结构

我有一个简单登录表单的以下数据流.

用户访问控制器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

php model-view-controller

8
推荐指数
2
解决办法
2万
查看次数

使用PHP删除匹配特定字符串的数组中的所有元素

我希望这很简单,我错过了一些明显的东西!

我正在尝试删除数组中与某个字符串匹配的所有元素.这是一个基本的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 arrays

7
推荐指数
2
解决办法
1万
查看次数

PHP MVC,局部视图?

我正在构建一个小的PHP MVC,而且我已经在一个小区域编码的墙上.我想我需要"部分视图",但我可能能够使用现有代码实现某些功能.

我的控制器目前是最简单的形式:

  • 实例化一个对象
  • 检查是否设置了POST变量
  • 根据需要显示视图1或显示视图2

目前的观点:

  • 显示HTML标记
  • 使用和回声模型获取getUserInfo()等函数

一切都很好,但是控制器和视图中的代码现在变得相当大,我已经达到了需要在主视图(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的,而且我有点丢失了!

我原以为这是一个相当普遍的问题,所以我认为有一个明显的解决方案!

谢谢!

php model-view-controller views partial

1
推荐指数
1
解决办法
1万
查看次数

AJAX在PHP MVC中的位置?

我的被​​调用的AJAX文件应该驻留在典型的PHP MVC框架中?

这是逻辑,所以我假设模型文件夹,但同时它作为控制器功能的一部分?

谢谢!


感谢所有的回复,特别是zerkms.

JS将构成视图的一部分,这将是AJAX请求URL.URL将是一个独立的控制器(可能是一个AJAX控制器),它将为JS提供它的数据源.

php ajax model-view-controller

1
推荐指数
1
解决办法
401
查看次数

标签 统计

php ×4

model-view-controller ×3

ajax ×1

arrays ×1

partial ×1

views ×1