Home GnuPG

Write a linter rule for unexpected `return` values
3ac313ad1e65Unpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

Write a linter rule for unexpected return values

Summary:
Although it is technically possible to return a value from a PHP constructor, it is rather odd and should be avoided. See some discussion on StackOverflow. Consider the following example:

class SomeClass {
  public function __construct() {
    return 'quack';
  }
}

This doesn't work:

echo new SomeClas();

This, strangely, does work:

echo id(new SomeClass())->__construct();

Test Plan: Added unit tests.

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D14516

Details

Provenance
Joshua Spence <josh@freelancer.com>Authored on Nov 19 2015, 9:34 AM
Parents
rARC149e7895fbd5: Add a linter rule for nested namespaces
Branches
Unknown
Tags
Unknown

Event Timeline

Joshua Spence <josh@freelancer.com> committed rARC3ac313ad1e65: Write a linter rule for unexpected `return` values (authored by Joshua Spence <josh@freelancer.com>).Nov 19 2015, 9:34 AM