He comprobado magento2, hay dos tipos de parámetros que se pueden enviar a
método alrededor
\Closure $proceed
ejemploaroundSave(\Magento\Catalog\Model\Product $subject, \callable $proceed)
\callable $proceed
ejemploaroundSave(\Magento\Catalog\Model\Product $subject, \Closure $proceed)
Ahora mi pregunta:
- ¿Qué es diferente entre cierre y llamable?
- ¿Por qué usar definimos el tipo dos tipos diferentes para el parámetro $ proceder?
- ¿Para qué sirven estos dos tipos de parámetros?
¿Alguien puede describirlo detalles
Respuestas:
Tiene una respuesta aquí: https://stackoverflow.com/a/29730810/4629261
http://php.net/manual/en/class.closure.php
http://php.net/manual/en/language.types.callable.php
En el documento de Magento, sugieren usar [invocable]
http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#defining-a-plugin
fuente