加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP MVC结构放置自己的类

发布时间:2020-05-25 08:47:49 所属栏目:PHP 来源:互联网
导读:我刚开始看一下MVC模式. 我的问题是: 我将把我的其他类文件(数据库,用户,记录器,邮件程序等)放在哪里?我应该为它们创建一个新目录,例如库? 我应该在模型函数中实例化Controller中的类吗? ?phpclass Controller { protected function model($model) { requ

我刚开始看一下MVC模式.
我的问题是:

我将把我的其他类文件(数据库,用户,记录器,邮件程序等)放在哪里?我应该为它们创建一个新目录,例如库?

我应该在模型函数中实例化Controller中的类吗?

<?php

class Controller {
    protected function model($model) {
        require_once('../app/models/'. $model .'.php');

        return new $model();
    }

    protected function view($view,$data = []) {
        require_once '../app/views/'. $view .'.php';
    }
}

Where would I put my other class files (Database,User,Logger,Mailer,etc)? Should I create a new directory for them,e.g. libs?

将它们放在单独的文件中,因为它们都提供不同的功能应该没问题.您的目录命名没有区别 – 只要它符合您的项目或一般的命名约定(可能,甚至更好).

Should I instantiate the classes in the Controller inside the model function?

不,据我所知,流程可能类似于:

>索引文件接收请求并启动新的引导实例> bootstrap设置throwable处理程序和路由器>然后路由器根据请求方法调用相应的方法,并通过匹配一组路由提供uri>匹配路由初始化MVC三元组的所有组件和可调用方法.组件(模型层,视图层和控制器层)将传递给路由器调用的方法.在我的例子中,我调用类FrontController,方法init.>基本上,init是实际制作MVC三元组的地方.模型层负责业务逻辑,持久性等.重要的是要注意Model不是单个文件或类(对于View和Controller来说是相同的). View层和Controller层都参考Model层来执行相应的操作.视图层的任务是管理输出,例如,决定输出将具有应用程序的内容类型/ json或text / plain,或者要呈现的模板.此外,视图不是模板,用于显示数据.请注意,视图直接从Model层询问必要的数据;没有任何与Controller层的交互.最后,当需要交互时,Controller层会进入,用户提交表单,相应的Controller过滤输入并从Model层调用方法.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读