Revert #1629 - _Allow adding custom Macroable classes_ (#1707)

* Revert #1629 - Allow adding custom Macroable classes

* Add Macros test
This commit is contained in:
erikn69
2025-05-14 20:21:17 +02:00
committed by GitHub
parent 0fa96e572d
commit c775aec1bb
6 changed files with 41 additions and 36 deletions
+3 -5
View File
@@ -22,6 +22,7 @@ use Illuminate\Config\Repository as ConfigRepository;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Query\Builder as QueryBuilder;
use Illuminate\Support\Facades\Facade;
use Illuminate\Support\Traits\Macroable;
use ReflectionClass;
use Throwable;
@@ -47,8 +48,6 @@ class Alias
protected $phpdoc = null;
protected $classAliases = [];
protected $isMacroable = false;
/** @var ConfigRepository */
protected $config;
@@ -63,13 +62,12 @@ class Alias
* @param array $magicMethods
* @param array $interfaces
*/
public function __construct($config, $alias, $facade, $magicMethods = [], $interfaces = [], $isMacroable = false)
public function __construct($config, $alias, $facade, $magicMethods = [], $interfaces = [])
{
$this->alias = $alias;
$this->magicMethods = $magicMethods;
$this->interfaces = $interfaces;
$this->config = $config;
$this->isMacroable = $isMacroable;
// Make the class absolute
$facade = '\\' . ltrim($facade, '\\');
@@ -431,7 +429,7 @@ class Alias
// Check if the class is macroable
// (Eloquent\Builder is also macroable but doesn't use Macroable trait)
if ($this->isMacroable || $class === EloquentBuilder::class) {
if ($class === EloquentBuilder::class || in_array(Macroable::class, $reflection->getTraitNames())) {
$properties = $reflection->getStaticProperties();
$macros = isset($properties['macros']) ? $properties['macros'] : [];
foreach ($macros as $macro_name => $macro_func) {