Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:63919 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 8365 invoked from network); 16 Nov 2012 09:42:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Nov 2012 09:42:21 -0000 Authentication-Results: pb1.pair.com smtp.mail=arvids.godjuks@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=arvids.godjuks@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.42 as permitted sender) X-PHP-List-Original-Sender: arvids.godjuks@gmail.com X-Host-Fingerprint: 209.85.220.42 mail-pa0-f42.google.com Received: from [209.85.220.42] ([209.85.220.42:54674] helo=mail-pa0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E7/00-08060-D7A06A05 for ; Fri, 16 Nov 2012 04:42:21 -0500 Received: by mail-pa0-f42.google.com with SMTP id fa1so1742624pad.29 for ; Fri, 16 Nov 2012 01:42:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=sjVPGeqdyAH1vb5Er/0YNWnDTjt3YmtgY1KYcITNfTg=; b=ty5JDVpqfPlvWjejJRBxUaa0kIujc/0aXFBZtiZ5Qv1A5bIVYPeka+15rJwbZYyjEl hmSIoCH7RdBuyNwmss6fTeUnQzkYhUT1w98ip0JrC1zWwhtcRhsSbzdudPVE8tDIZa4Z ozZ/8VulCBanVrhiJYxLb1K8uUgsisvx9QaCh60m9vfz+YitAkPGceqxaG64ZuPl0Cp6 ZS3bODaWFdSp3W5p+VM7Vv2qVM0zZFNUbhba9Ss41GUD+dHnb/HnwmZuBl32vgvGWTcb x3/ZOWR0DSj7CmOfmxZW9OPiIZgsuY4UcNxB1Cj+NcxhfCRtUc9tI/wJiZjb9vVlNcxU 2duA== Received: by 10.68.192.5 with SMTP id hc5mr13553539pbc.16.1353058938903; Fri, 16 Nov 2012 01:42:18 -0800 (PST) MIME-Version: 1.0 Received: by 10.68.122.233 with HTTP; Fri, 16 Nov 2012 01:41:58 -0800 (PST) In-Reply-To: References: <50A1946F.8010407@lerdorf.com> <50A20CCB.8090909@lsces.co.uk> <8A8A29F9E43E417FB5450D63019B2DDB@NeiRoze> <8f4231fc-6e3c-4a33-af71-2af5e7a95dfd@email.android.com> <50A2D672.7010600@gmail.com> <50A30144.5070305@phpgangsta.de> <50A3BEC0.8030607@gmail.com> <50A54713.8090102@sugarcrm.com> <50A549EB.2020408@lerdorf.com> <50A5FB0C.1080602@lerdorf.com> Date: Fri, 16 Nov 2012 11:41:58 +0200 Message-ID: To: PHP Developers Mailing List Content-Type: multipart/alternative; boundary=e89a8f64328e69dd5404ce9995c4 Subject: Re: [PHP-DEV] RFC: ext/mysql deprecation From: arvids.godjuks@gmail.com (Arvids Godjuks) --e89a8f64328e69dd5404ce9995c4 Content-Type: text/plain; charset=UTF-8 Hello internals. Sometimes I wonder if people even read the stuff that is written here. I understand that this thread got long, but it's not that bad - most messages are short and readable, easy to follow. As with "APOCALYPSE WILL HAPPEN" style claims, that we see here, I just don't understand your reasoning people. People said repeatedly, and RFC too, that it's not going to be E_DEPRECATED on every function call in the extension - it's only on mysql_connect & mysql_pconnect. And seriously, guys, there are other places that throw E_WARNING, E_STIRICT and E_DEPRECATED - ignoring those is a bad idea no matter how you put it . E_DEPRECATED sends a clear message, that everyone understands. And docs are not a best place for a warning of that kind - I now look into the docs a few times a year for something specific, I just don't need to cause even I just remember the stuff I use. And IDE helps to remember the things I forgot on the fly. If I would not read this list I would know about the deprecation when I would update my developer PHP to new release and get E_DEPRECATED on my developer machine (I moved to mysqli like ages ago and frameworks make me use PDO). That's just how a regular developer works - this is an extension that like 100% of us (the guys that work with MySQL for any time longer than half a year) know by heart, why da hell do I need to read docs for that? Deprecating stuff isn't a viral video or a funny picture that gets spread virally. Yes, people write blogs, spread the word, but it's effect is far from what you want and need. I don't see how removing a whole extension is any kind of special case. You deprecate it, give people a year or so to do something about it and move the extension to PECL. It's not like you are just killing it without any options to enable it. It is always painful to remove the stuff many people use, but you just can't make it without someone realizing that stuff was deprecated like 5 years ago, removed 4 years ago and he just installed that "old new version" straight to the production server and it all just died. You should know better how many idiots are out there in the wild, who never learn from their mistakes. Even I make some repeated mistakes from time to time, although I try to learn my lesson - stuff just happens. Just handle it with as much noise coverage as you can - make an official statement on php.net, get attention of *nix distros and framework/cms/cmf developers, remind people on the conferences, blogs, etc. Include reasoning why are you doing this, provide migration article in the docs (like oracle's one). I never wanted to say it would be easy, but it wasn't easy to remove register_global, magic_quotes and other stuff (and it was written in this thread that Wordpress still has emulation code for this). Just prepare for it. 3-5 years should suffice for people to move to mysqli their projects, that's the time frame majority of people will just start to use versions after PHP 5.4 Arvids. --e89a8f64328e69dd5404ce9995c4--