Intervention / Intervention/image

Split File::__construct() input types into own constructor methods

Open
#1,494 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

major-release
Dominant language
PHP
Stars
14.4k
Forks
1.5k
Avg merge
17h 51m
Merged PRs (30d)
11

Description

The constructor of File::class takes a mixed argument which can be string, resource or null.

To improve organization __construct() should only take the raw data of type string and Stringable. A new static constructor method fromStream() will handle the instantiaton from stream resources.

Affects also EncodedImage::class and Profile::class

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with File::__construct() and inspect how EncodedImage and Profile handle their constructor inputs. Trace the existing string, Stringable, resource, and null paths before separating raw data from stream resources. Done means the constructor accepts only string and Stringable inputs, while fromStream() handles resources consistently across the affected classes.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
66/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.