1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00
Nikita Popov 8754b191f7 Fix "already in use" check inconsistencies/bugs
This fixes the following issues:
 * "use function" and "use const" inside namespaced code were checking
   for conflicts against class imports. Now they always check against
   the correct symbol type.
 * Symbol conflicts are now always checked within a single file only.
   Previously class uses inside namespaced code were checked globally.
   This behavior is illegal because symbols from other files are not
   visible if opcache is used, resulting in behavioral discrepancies.
   Additionally this made the presence/absence of symbol errors dependent
   on autoloading order, which is volatile.
 * The "single file" restriction is now enforced by collecting defined
   symbols inside a separate hash table. Previously it was enforced
   (for the non-namespaced case) by comparing the filename of the
   symbol declaration. However this is inaccurate if the same filename
   is used multiple times, such as may happen if eval() is used.
 * Additionally the previous approach relies on symbols being registered
   at compile-time, which is not the case for late-bound classes, which
   makes the behavior dependent on class declaration order, as well as
   opcache (which may cause delayed early-binding).
 * Lastly, conflicts are now consistently checked for conditionally
   defined symbols. Previously only declaration-after-use conflicts were
   checked in this case. Now use-after-declaration conflicts are
   detected as well.
2016-10-07 00:12:55 +02:00
2016-01-04 18:13:38 +01:00
2016-10-06 11:16:43 +03:00
2016-10-06 11:03:45 +02:00
2016-10-06 10:36:40 +02:00
2016-09-26 18:49:40 +02:00
2015-12-05 22:48:29 +01:00
2016-08-29 21:49:28 +02:00
2016-09-29 13:02:54 +02:00
2016-09-05 14:22:13 +02:00
2015-09-01 14:52:04 -07:00
2015-01-17 18:26:45 +01:00
2016-09-11 13:26:30 +02:00
2016-08-11 17:57:58 +02:00
2016-05-18 17:45:12 +02:00
2014-12-04 17:56:20 +00:00
2016-09-29 00:55:36 +02:00
2016-09-13 16:00:36 +02:00
2016-01-01 19:48:25 +02:00
2016-04-05 12:13:38 +02:00
2009-11-23 21:53:30 +00:00
2015-01-29 14:24:20 +08:00
2016-10-05 13:07:47 -07:00
2016-09-26 18:45:53 +02:00
2016-09-26 18:45:53 +02:00
2016-08-18 12:31:09 +02:00
MFH
2008-01-17 14:38:16 +00:00
2016-06-04 19:06:59 +02:00
2014-06-05 17:45:22 +02:00
2015-02-07 10:35:52 -06:00
2016-09-05 00:51:01 -07:00
2016-08-11 08:08:26 +09:00

The PHP Interpreter

This is the github mirror of the official PHP repository located at http://git.php.net.

Build Status

Pull Requests

PHP accepts pull requests via github. Discussions are done on github, but depending on the topic can also be relayed to the official PHP developer mailing list internals@lists.php.net.

New features require an RFC and must be accepted by the developers. See https://wiki.php.net/rfc and https://wiki.php.net/rfc/voting for more information on the process.

Bug fixes do not require an RFC, but require a bugtracker ticket. Always open a ticket at https://bugs.php.net and reference the bug id using #NNNNNN.

Fix #55371: get_magic_quotes_gpc() throws deprecation warning

After removing magic quotes, the get_magic_quotes_gpc function caused
a deprecate warning. get_magic_quotes_gpc can be used to detected
the magic_quotes behavior and therefore should not raise a warning at any
time. The patch removes this warning

We do not merge pull requests directly on github. All PRs will be pulled and pushed through http://git.php.net.

Guidelines for contributors

Description
⚠️ ARCHIVED: Original GitHub repository no longer exists. Preserved as backup on 2026-01-22T16:25:23.756Z
Readme 965 MiB
Languages
C 66%
PHP 31.3%
C++ 0.8%
Shell 0.5%
M4 0.4%
Other 0.8%