Actualización
Actualización a la versión 4.0
La mayoría de los cambios afectan solo a los autores de componentes propios; el código corriente de las aplicaciones no se ve afectado. La historia completa está en la entrada del blog sobre la versión.
- El método
getComponents()devuelve ahora unarrayen lugar de uniterable, y sus argumentos heredados$deepy$filterTypelanzan ahoraNette\DeprecatedException. Desaparecieron de la firma ya en la versión 3.1, pero hasta ahora seguían funcionando en tiempo de ejecución. Para todo el subárbol usegetComponentTree(), combinado opcionalmente conarray_filter()para filtrar por tipo. - Las notificaciones de conexión se entregan ahora de arriba abajo: el callback
$attacheddel padre se ejecuta antes que el de sus hijos, lo que le permite al padre preparar su estado o incluso eliminar un hijo antes de que se procese. El orden de desconexión no cambia (primero los hijos). - Se eliminaron los métodos sobrescribibles
attached()ydetached(); registre los callbacks conmonitor($type, $attached, $detached)en su lugar. - La clase
Componentya no usa el traitNette\SmartObject, así que en la clase base desaparece el acceso mágico a las propiedades (ControlyBaseControlañaden el trait por su cuenta). - Se eliminó la constante obsoleta
NAME_SEPARATOR; useNameSeparator, disponible desde la versión 3.0.3.
Actualización a la versión 3.0
El constructor de Nette\ComponentModel\Component llevaba años sin usarse y se eliminó en la versión 3.0. Es un
BC break: si llama al constructor padre en un componente o presenter, tiene que eliminar la llamada.