Skip to content
This repository was archived by the owner on Feb 17, 2025. It is now read-only.
This repository was archived by the owner on Feb 17, 2025. It is now read-only.

PHP 8.4 compatibility #77

@mcaskill

Description

@mcaskill

Describe the bug

While doing some application testing in PHP 8.4-dev, I launched Alfred to use mattstein/alfred-tower-bookmarks-workflow and the following deprecation notices were logged:

PHP Deprecated:  Alfred\Workflows\Workflow::env(): Implicitly marking parameter $key as nullable is deprecated, the explicit nullable type must be used instead in ~/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.***/vendor/joetannenbaum/alfred-workflow/src/Workflow.php on line 98
PHP Deprecated:  CFPropertyList\CFPropertyList::add(): Implicitly marking parameter $value as nullable is deprecated, the explicit nullable type must be used instead in ~/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.***/vendor/rodneyrehm/plist/src/CFPropertyList/CFPropertyList.php on line 526
PHP Deprecated:  CFPropertyList\CFDictionary::add(): Implicitly marking parameter $value as nullable is deprecated, the explicit nullable type must be used instead in ~/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.***/vendor/rodneyrehm/plist/src/CFPropertyList/CFDictionary.php on line 89
PHP Deprecated:  CFPropertyList\CFArray::add(): Implicitly marking parameter $value as nullable is deprecated, the explicit nullable type must be used instead in ~/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.***/vendor/rodneyrehm/plist/src/CFPropertyList/CFArray.php on line 87

For your classes, the fixes are simple (I have not checked other occurrences):

CFArray:

- public function add(CFType $value = null)
+ public function add(?CFType $value = null)

CFDictionary:

- public function add($key, CFType $value = null)
+ public function add($key, ?CFType $value = null)

CFPropertyList:

- public function add(CFType $value = null)
+ public function add(?CFType $value = null)

To Reproduce

Steps to reproduce the behavior:

  1. Install PHP 8.4
  2. Install Alfred
  3. Install mattstein/alfred-tower-bookmarks-workflow
  4. Launch Alfred
  5. Use Tower workflow keyword ("tower")
  6. Consult PHP error log

Expected behavior

Not to see deprecation notices in the error log.

Related issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions