PHP - 使不同的类无缝地一起工作

时间:2018-01-01 14:45:05

标签: php oop

我有一个将在API中处理用户配置文件操作的类。 API文件的结构是 API Name / version / resource.php 。 命名空间使用相同的结构。

我已经下载了一个库,可以将识别符作为默认配置文件图片。当然这个库包含自己的类。

我的问题是,将此库合并到我的个人资料类中的最佳做法是什么? 为了保持类松散耦合,我想从resource.php中调用外部库是个坏主意? 它应该从php文件中作为参数传递给构造函数来实例化API类吗?是否应将库对象分配给API类中的属性?

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议创建一个ProfilePictureService并使用依赖容器(例如PHP-DI)将其注入控制器。

你的控制器看起来像这样:

class ProfilePictureController
{
    /**
     * @var ProfilePictureService
     */
    private $profilePictureService;

    public function __construct(ProfilePictureService $profilePictureService)
    {
        $this->profilePictureService = $profilePictureService;
    }

    public function handleUpload(Request $request)
    {
        $this->profilePictureService->handleUpload($request->getUser(), $request->getProfilePictureUpload());
    }
}