如何在php mvc中使用全局方法
我试图理解MVC的结构,但我偶然发现了一个地方。 我应该如何集成使用该结构中所有页面的全局函数 举例说明 我有一个所有页面都需要的方法,我在侧边栏中显示这个如何在php mvc中使用全局方法,php,oop,model-view-controller,helpers,Php,Oop,Model View Controller,Helpers,我试图理解MVC的结构,但我偶然发现了一个地方。 我应该如何集成使用该结构中所有页面的全局函数 举例说明 我有一个所有页面都需要的方法,我在侧边栏中显示这个 public function user_credit( $userid ){ return $this->db->getSingleRow( "SELECT * FROM user_credit WHERE userid = $userid" ); } 有些页面不需要模型文件。我不想为所有页面创建模型并将此方法添加到所有
public function user_credit( $userid ){
return $this->db->getSingleRow( "SELECT * FROM user_credit WHERE userid = $userid" );
}
有些页面不需要模型文件。我不想为所有页面创建模型并将此方法添加到所有页面
我的解决方案
1我创建了一个globalFunc.php,并保存在helpers文件夹中
globalFunc.php
//扩展模型,因为我需要数据库连接
类GlobalFunc扩展模型{
function __construct(){
parent::__construct();
}
public function user_credit( $userid ){
return $this->db->getSingleRow( "SELECT * FROM user_credit WHERE userid = $userid" );}
我在基本控制器中添加了loadHelper方法
2我将globalFunc.php保存在Models文件夹中。
我在基本控制器中添加了loadCustomModel方法
但是这种方式并没有让我满意。我应该如何走一条路?首先,先多读一些MVC的概念。你会明白的 对于您的问题:对于必须由多个其他资源、组件等使用的资源,您通常使用服务。在某些情况下,助手也是一个很好的解决方案。 例如,像Twig这样的模板引擎可以使用视图助手进行渲染,但这些应该是非常抽象的 应使用管理服务。 您可以拥有一个DI容器,该容器随后提供所需服务的实例,并可用于操作它们 Symfony2框架有一个很好的DI容器组件,您可以使用。我认为它们对DI概念也有很好的理解。MVC不是我代码的首字母缩写。MVC模式定义了应用层之间信息流的约束。您是否使用函数与MVC模式无关。此外,模型不是类或模型表抽象。