Anonymous classes
Just like anonymous functions, now there anonymous classes in PHP. Note that if an object is required, then most probably we need some specific type of object and not just a random one, for example:
<?php class App { public function __construct() { //some code here } } function useApp(App $app) { //use app somewhere } $app = new App(); useApp($app);
Note that a specific type of object was required in the useApp()
function, and this type App
couldn't be defined if it wasn't a class. So, where and why would we use an anonymous class with some specific functionality in it? We may need it in case we need to pass a class implementing some specific interface or extending some parent class, but only want to have this class used in one place. In that case, we can use an anonymous class.
Here is the same example given in the PHP7 documentation so that it will be easy for you to follow up:
<?php interface Logger { public function log(string $msg...