GithubHelp home page GithubHelp logo

php7-migration-guide's People

Contributors

pasindud avatar sobak avatar tpunt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

lawngnome

php7-migration-guide's Issues

Organisation Thoughts

The way the content is organised at the moment means that new classes have to awkwardly fit into the new functions section, while new interfaces have to be placed elsewhere altogether (in the new features section?). I think that restructuring the guide would be a good idea, as well as organising all of the content into the new structure here since some things will not cleanly fit into a single section.

The current structure is as follows:

  • Backward incompatible changes
  • New features
  • Deprecated features in PHP 7.0.x
  • Changed functions
  • New functions
  • Other changes to extensions
  • Changes to the error reporting

A new potential structure may be (sections should probably be re-ordered):

  • Backward Incompatible Changes
  • New Features
  • Deprecated Features in PHP 7.0.x
  • Functions Changes
  • New Functions and Methods
  • New Classes and Interfaces
  • Language Changes
  • Extension Changes
  • SAPI Changes
  • Error Reporting Changes

Organising the content into this new structure may look as follows:

  • Backward Incompatible Changes
    • Invalid octal integer literals are now parse errors
    • ...
  • New Features
    • Combined Comparison Operator
    • Null Coalesce Operator
    • Scalar Type Declarations
    • Return Type Declarations
    • Unicode Codepoint Escape Syntax
    • Group use Declarations
    • Generator Return Expressions
    • Generator Delegation
  • Deprecated Features in PHP 7.0.x
    • PHP 4-Style Constructors
    • Salt Option for password_hash()
  • Functions Changes
    • Filtered unserialize()
    • session_start() Options
    • Improved assertions using assert() (Expectations)
  • New Functions and Methods
    • Closure call() Method
    • Integer Division with intdiv()
    • preg_replace_callback_array() Function
    • error_clear_last() Function
  • New Classes and Interfaces
    • IntlChar class
    • Exception hierarchy (*Error classes and Throwable interface)
  • Language Changes
    • Fixes to foreach()'s Behaviour
    • Fixes to Custom Session Handler Return Values
    • Changes to list()'s Behaviour
    • Changes to Division by Zero Semantics
    • Integer Semantics
    • ZPP Failure on Overflow
    • Loosening Reserved Word Restrictions
    • Uniform Variable Syntax
    • Removal of Hex Support in Numerical Strings
    • Removal of Alternative PHP Tags
    • Removal of Multiple Default Blocks in Switch Statements
    • Removal of Deprecated Functionality
    • Removal of date.timezone Warning
  • Extension Changes
    • JSON Extension Replaced with JSOND
  • SAPI Changes
    • Removal of Dead Server APIs
  • Error Reporting Changes
    • Exceptions in the Engine
    • Reclassification and Removal of E_STRICT Notices

That's roughly mapping my PHP 7 reference article into these sections (I'll update it with the missed features/changes tomorrow). Any thoughts on this?

Time to move the migration guide to the manual?

PHP 7.0.0beta3 is supposed to be released tomorrow, and people are already testing, and they're facing unexpected changes which they report as bugs (see, for instance, #70200 and #70201). Handling these bug reports is additional work, and we can't even tell the reporters to RTFM, because it's missing.

IMO we should move the migration guide to php.net as soon as possible, even if it is still work in progress.

Problem with parse_ini_file() changes

Hello guys!

We do have a little problem with changes made to parse_ini_file() and parse_ini_string() functions. New INI_SCANNER_TYPED mode was added in PHP 5.6.1. I'll skip my bashing on that decision, as it doesn't change anything, but the problem is that this is widely recognized as PHP7 feature.

Even you, @salathe, have listed it on go-php7-docs todo list, and you, @tpunt in your PHP7 Reference. This choice is rather logical because it's hard to make a migration guide for a point version, but practically, this change doesn't belong to PHP7.

What are your thoughts on that? Should we document it here, mention that in fact this is PHP 5.6.1 feature and try not to cry?

Cheers,
Sobak.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.