Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103289 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 5994 invoked from network); 1 Oct 2018 00:08:11 -0000 Received: from unknown (HELO mail-pg1-f177.google.com) (209.85.215.177) by pb1.pair.com with SMTP; 1 Oct 2018 00:08:11 -0000 Received: by mail-pg1-f177.google.com with SMTP id z3-v6so7931200pgv.8 for ; Sun, 30 Sep 2018 13:17:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=OsNbNE9FisVObLDJDy0ibN+1A7e8LXXFhfHO4X5f/go=; b=gTsDyrITekiwiB3szyBUr5V6AhtklwWUJQwBrnNIXBrBKsBBCWZyx0OXL5h3MHw/mZ nU7kZl4pj6ytnWRAvQKWuI2O0U/5B1nSKKh/tCwvagwBqPXqz7/4C9iVN6iHr8xUoZ3o ah2ixF4cjX8P2H3T0FIc0WTF0gJMmpk4cR8svIq251q+cPqcHHwMP9SKg7MTiEs8/UV6 QyEZxQtaZ1qeH2rVNYnP11wVxPbNt9tecu9KiyI6uCaVl+sLWGpDgt4/wFQmaT55VMlX t0tfMABYOR7GLCUFQSANFUtMFGLQLKLyEyEp3oNiWhpCBsXqDXn9Akf1s6+e3YNon0vd chZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=OsNbNE9FisVObLDJDy0ibN+1A7e8LXXFhfHO4X5f/go=; b=M7s7/nFivkoIDqvj+32A37ok/6s8H7cgPC5b1yd/dBRCXX28atvLokHkPc9JaB8SJs /N9ZxRzPAI2RedbojMVAnsNxdx34m+PRnckLE1MdbmPPtT/q+9imoPb4CZrvVkKaNx0V eVM6023TQO0CzF+pSUH3//AhDBThUeHNfKuY9wvIEKCMhRWk8bIYTzhnIO/Gocqmkf5I yS7ZYo4OfU8jcaZSl/tLo5J39NfI3pGZ12OIWUxS+XLz/OLiFur8HkvOAHZPN8j4Prum tucys8EBSvgQDd4np6Pk1fT6wP8Ola4108LQBtuBoANsYaP8MN1gF+xbgSDbGeeOCZR6 /hHQ== X-Gm-Message-State: ABuFfojkuiN9D3SY/Psd02uIS3Fm6NlW+MTK+lIrAZSwB04ffnlR+Mwy tqKqVwuJI/XbFXHwbk6Iq+piR90= X-Google-Smtp-Source: ACcGV61mW0f9G2fKRQCB83XIez4DLHSD16Qau7ZcwSl3d6fDpFJKYE0JJ7mfLwYpwLtdJ+77yMJCLg== X-Received: by 2002:a65:6143:: with SMTP id o3-v6mr7659927pgv.52.1538338642084; Sun, 30 Sep 2018 13:17:22 -0700 (PDT) Received: from Stas-Pro-2016.local (c-24-4-176-254.hsd1.ca.comcast.net. [24.4.176.254]) by smtp.gmail.com with ESMTPSA id j16-v6sm21438899pfk.125.2018.09.30.13.17.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 30 Sep 2018 13:17:21 -0700 (PDT) To: "Christoph M. Becker" , Pierre Joye Cc: PHP internals References: <3081944c-4e55-f303-fddd-7f03cff04034@gmail.com> Openpgp: preference=signencrypt Autocrypt: addr=smalyshev@gmail.com; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Sun, 30 Sep 2018 13:17:20 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Kill proprietary CSV escaping mechanism From: smalyshev@gmail.com (Stanislav Malyshev) Hi! > If we cannot eventually get rid of the escaping for CSV reading (note > that I proposed to keep the possibility to use it until PHP *9*), I > don't think that we should remove it for CSV writing either, since that > would make SplFileObject::setCsvControl() and ::getCsvControl() pretty > much confusing. Consequently, it wouldn't make sense to deprecate using SplFileObject is a bit of a problem since it has single setting for both reading and writing. I'd say it's fine to deprecate using escape there, with the idea that if somebody needs it for reading, they'd ignore the deprecation message, or use fgetcsv. I guess using single set of setting for both read and write is not that great an idea, in retrospect, but we probably can't do too much about it. I think allowing not having an escape and making it the default is a good idea, though mismatch between read and write may be problematic. At least the first part - allowing not having escape - I think should be done and does not need RFC even, but the default change probably does and I think this should be in a major version, since it's a BC break, albeit not a major one. So, I'd do this: 1. Enable no escape char at all ASAP 2. Switch to no escape by default for read & write for PHP 8 3. Deprecate non-empty escape for SplFileObject and fputcsv for PHP 8, leave fgetcsv alone. -- Stas Malyshev smalyshev@gmail.com