migration52-php-other-5

  • Migrating from PHP 5.1.x to PHP
    5.2.x
  • Other Enhancements

  • Other Enhancements
  • Other Enhancements

    Other Enhancements

    • Improved memory manager
      and increased default memory limit.
      The new memory manager allocates less memory and works
      faster than the previous incarnation. It allocates memory from the
      system in large blocks, and then manages the heap by itself. The
      memory_limit value in php.ini
      is checked, not for each emalloc() call (as before), but
      for actual blocks requested from the system. This means that
      memory_limit is far more accurate than it used to be,
      since the old memory manager didn’t calculate all the memory
      overhead used by the malloc library.
      Thanks to this new-found accuracy memory usage may appear
      to have increased, although actually it has not. To accommodate
      this apparent increase, the default memory_limit setting
      was also increased – from 8 to 16 megabytes.
    • Added support for
      constructors in interfaces to force constructor signature checks in
      implementations.
      Starting with PHP
      5.2.0, interfaces can have constructors. However, if you choose to
      declare a constructor in an interface, each class implementing that
      interface MUST include a constructor with a signature matching that
      of the base interface constructor. By ‘signature’ we mean the
      parameter and return type definitions, including any type hints and
      including whether the data is passed by reference or by
      value.