首页 > 解决方案 > 如何在 PHP 中创建模型类?

问题描述

我有收入请求作为 POST 数据。它看起来像Request $request.

我可以检索数据:$request->name

我想使用 set/get 基于这些数据创建模型类。

如何在 PHP 中做到这一点?

我试过:

class UserModel {

    private $name;

   public __constructor(Request $request) {
     $this->name = $request->name; 
  }
}

如何使用获取/设置?

我可以创建接口并使用如下对象:

   interface IUser {
       name: string;
    }

$obj = $request as IUser;

标签: php

解决方案


用户模型.php:

class UserModel {
    public $name;
    public function __construct(Request $request) {
        $this->name = $request->name;
    }
    public function getName()
    {
        return $this->name;
    }
    public function setName($name)
    {
        $this->name = $name;
    }
}

请求.php

class Request
{
    public $name;
    public function __construct() {
        $this->name = "John";
    }
}

主文件

require_once("UserModel.php");
require_once("Request.php");
$request = new Request();
$myClass = new UserModel($request);
//Using get
echo $myClass->getName();
//Using set
$myClass->setName("Jill");
echo "\n";
echo $myClass->getName();
echo "\n";

get 和 set 的用法显示在 Main.php 中。

Request.php 是一个模拟,用于替换您正在使用的类 Request。

该代码可在https://github.com/michaelhochleitner/https-stackoverflow.com-questions-57240050获得。运行它php7.2 Main.php

此示例将所有属性和方法的可见性设置为公开。请注意这一点。


推荐阅读