Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:97469 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 98769 invoked from network); 27 Dec 2016 06:52:38 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Dec 2016 06:52:38 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.218.54 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.218.54 mail-oi0-f54.google.com Received: from [209.85.218.54] ([209.85.218.54:34281] helo=mail-oi0-f54.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E3/DB-04761-5BF02685 for ; Tue, 27 Dec 2016 01:52:37 -0500 Received: by mail-oi0-f54.google.com with SMTP id 3so157160034oih.1 for ; Mon, 26 Dec 2016 22:52:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=qgC91bUDvt46c15fZMldk0IBPXBOamtYShQ91uj4OjE=; b=MNTZikSugIOANVI/Q6X2Zeh6LklU0Y14mSlXJ8F0XQ/wNBz32ZOB/oicixMeyPmlhj cTrXG7/EvKNB2EMvRczYYojQXPpnlONUMAv5AgpheNt04S63ilxVaanXZVseE+0/t49n AvLydF3fZRXUGIIeCoZ2YIbSD8gnYMLAj+HUwtaIkbuNYdh3Vdhz4W/9n58ocSZRf9ki D8eX2rU4K95XgUPR/rvSSFzvKv43zGKv/1NtwiuJs7FUQlYxxhddX4s9on7hRQkDOmN5 RxNSJCUpGQz0H/KtDL0UYEWEHwV+txesilayP4YtqjUMlCznIUV3/PW6Jkg+cI+vZHog eIZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=qgC91bUDvt46c15fZMldk0IBPXBOamtYShQ91uj4OjE=; b=O6kkY4luFcHa1EHFMBFhr5bVLSq7DTuuqyzP3SuLGksvHMuUWsQtkL3CN9biQCOEAd ZO0Mhs7o7vikaK/YsQhpX7mensicgLXhPuemf7BDPCeRhSQILQNnd18wnzprIggCyCRF 7J2+QG6uT2aGzA8/6UPfw4aPQPQ/w8FEEYWvYkWn+91TjEF9bMD7UJgzZfeOmQXj7P40 pjrmwF4EE0Atm7w5ihZjvm+er1YoPUymYlMrM6ex++fVlz1jlJZ37j0+Lm/VntNrTexk zAhugN9qBm5j1S5fDiVJdBR9AnpNM/CV77oAFeSkfBb95xkwFAvtGKJp6087Sb3/50AF jG8w== X-Gm-Message-State: AIkVDXLtLM8Ak/m53/yXrgVo904Lg3i1p6oUj4B4qcMI7YXpFZbB9FE4TrquGT9TCq3fmQ== X-Received: by 10.157.60.203 with SMTP id t11mr14164615otf.235.1482821554649; Mon, 26 Dec 2016 22:52:34 -0800 (PST) Received: from Stas-Air-583.local (108-233-206-104.lightspeed.sntcca.sbcglobal.net. [108.233.206.104]) by smtp.gmail.com with ESMTPSA id 36sm16073715otg.24.2016.12.26.22.52.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Dec 2016 22:52:33 -0800 (PST) To: Nikita Popov , PHP internals References: Message-ID: <753c3900-0d59-8d0d-3a53-863f42465b49@gmail.com> Date: Mon, 26 Dec 2016 22:52:31 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Re: [RFC] Deprecations for PHP 7.2 From: smalyshev@gmail.com (Stanislav Malyshev) Hi! >> https://wiki.php.net/rfc/deprecations_php_7_2 Reading through the list, I find several categories: Completely ok: (unset) - don't see any sane use case anyway gmp_random Can cause breakage but it's ok: $php_errormsg __autoload mbstring.func_overload parse_str() - people can use it in functions, it doesn't have to be globals. But it's cleaner with second arg. $errcontext Don't see a reason to remove: (binary) cast and b"" - yes, they are not currently doing anything. But they don't also hurt anything. High breakage potential: each() - I've seen a lot of code using each. Yes, it's not the best way. A lot of people write code not in absolutely best way but in a way they like to. Argument about list() proposed in RFC makes little sense to me - since problem is with list() and not each() why each() should be deprecated because of it? And I certainly object its removal. create_function() - yes, there are closures now. But there's a lot of code created when there were none, and that code works, and there's no reason to break it. I'd probably be OK with deprecation warning but not with removal. Special case: assert() - if the string arg is a security issue, deprecating it achieves nothing. So I'm not sure I understand the argument for deprecation - if string assert is a problem we probably should make assert() construct instead check if assert is used in eval form, not by argument count? -- Stas Malyshev smalyshev@gmail.com