From 74c96851d1c4d283b241d668e7798a171944d335 Mon Sep 17 00:00:00 2001 From: Roman Martinuk Date: Sun, 14 Mar 2021 20:58:23 +0300 Subject: [PATCH] singleton fix visible __wakeup() 1) DesignPatterns\Creational\Singleton\Tests\SingletonTest::testUniqueness The magic method DesignPatterns\Creational\Singleton\Singleton::__wakeup() must have public visibility /app/Creational/Singleton/Singleton.php:39 /app/Creational/Singleton/Tests/SingletonTest.php:12 ERRORS! --- Creational/Singleton/Singleton.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Creational/Singleton/Singleton.php b/Creational/Singleton/Singleton.php index c7c0976..86b8538 100644 --- a/Creational/Singleton/Singleton.php +++ b/Creational/Singleton/Singleton.php @@ -2,6 +2,8 @@ namespace DesignPatterns\Creational\Singleton; +use Exception; + final class Singleton { private static ?Singleton $instance = null; @@ -36,7 +38,8 @@ final class Singleton /** * prevent from being unserialized (which would create a second instance of it) */ - private function __wakeup() + public function __wakeup() { + throw new Exception("Cannot unserialize singleton"); } }