Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:62028 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 26724 invoked from network); 3 Aug 2012 23:44:25 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Aug 2012 23:44:25 -0000 Authentication-Results: pb1.pair.com header.from=sv_forums@fmethod.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=sv_forums@fmethod.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain fmethod.com from 209.85.212.182 cause and error) X-PHP-List-Original-Sender: sv_forums@fmethod.com X-Host-Fingerprint: 209.85.212.182 mail-wi0-f182.google.com Received: from [209.85.212.182] ([209.85.212.182:52292] helo=mail-wi0-f182.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 06/66-23476-8526C105 for ; Fri, 03 Aug 2012 19:44:25 -0400 Received: by wibhq12 with SMTP id hq12so3158wib.11 for ; Fri, 03 Aug 2012 16:44:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:from:to:cc:references:subject:date:mime-version :content-type:x-priority:x-msmail-priority:x-mailer:x-mimeole :x-gm-message-state; bh=xc7Vh6FaVKq9ojkywOZ9EpBTVHmU/7zBDA19jsrAgtY=; b=Wyu9ela1lfZNUSTB8QQapnNGpoHbLyNtKV8sZv5Nk9ktPBqlZsuPyFof21BSbACYB3 FwO0C+UZMaDcP7q9BVYz3QehqVPNvchFzvdC0toMyOOxnNESNdxOHQ0cZpsz+Z1GdEgD T3e0E+AgMdZW86CZHVkqBKKfl+K7Tk62BXN6meLa43Q/BnKtbKaWwrhCewMzmSQt6Wui cbN4NS5cxB+ykrKOeWRxb2v5odHHMCoTVqcm932GxZEeWksrcLL2L/DTyGfPKjGDVnC7 +ZCa5YB5QbBoMPulyNbtlICyxGfXgQGQztriithDn4avMf6cP4u779CbSobkxcfqt/EX nhqQ== Received: by 10.216.134.11 with SMTP id r11mr1534207wei.177.1344037461624; Fri, 03 Aug 2012 16:44:21 -0700 (PDT) Received: from pc ([46.10.0.87]) by mx.google.com with ESMTPS id j6sm84462wiy.4.2012.08.03.16.44.18 (version=SSLv3 cipher=OTHER); Fri, 03 Aug 2012 16:44:20 -0700 (PDT) Message-ID: <250022DBD6DE4F50BBAD1CB655909382@pc> To: "Ferenc Kovacs" Cc: "Nikita Popov" , "PHP Internals" , "Andrew Faulds" , "Etienne Kneuss" References: <6214E40C106D49398CC920D8587815B4@pc> Date: Sat, 4 Aug 2012 02:44:16 +0300 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0041_01CD71EB.09F1D7B0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Gm-Message-State: ALoCoQliBunCftk8pvS/Z+F527Y/yIepGP30FWsDHzVKcBDP98EeeEl0hrleg91P7YeuINI9UYWJ Subject: Re: [PHP-DEV] Error handling brainstorming From: sv_forums@fmethod.com ("Stan Vass") ------=_NextPart_000_0041_01CD71EB.09F1D7B0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Sat, Aug 4, 2012 at 1:16 AM, Stan Vass = wrote: When I said I'd like to see E_STRICT be fatal/exceptions it wasn't a = typo. My choice isn't based as much on what the current error severity = is, or what the error severity is supposed to represent in general, = because I've found in PHP often the error severity has no connection = with the error that's being reported. So I decided this by observing the = real-world errors that use a certain severity. Many warnings and all E_STRICT errors clearly point to bugs in the = code, wrong method signatures, non-existing variables and constants = being used, which can easily do actual data damage if the script keeps = running in undefined state (even if the engine is just fine with it). are you sure about that? E_STRICT is more about code that works but relying on some quirk or = side-effect or simply does a stupid thing. Well think about it. Why is it a goal to let quirky/stide-effect/stupid = code run? This almost always ends badly. It also reduces compatibility between code libraries. I.e.: it is the opposite, we allowed sloppy code in the past, and introduced = E_STRICT to allow the pedantic people to find and fix the quirks and = E_DEPRECATED for finding and migrating the code which will go away. If you use a well tested, popular library by "sloppy" coders who don't = mind E_STRICT and E_NOTICE, but you're "pedantic", what happens? You = have to live with your error log filled with noise from the library or = fork the library. And when the "sloppy" coders miss bugs because they've decided the real = PHP is about sloppy code that still works somehow, they miss bugs and = then blame themselves or PHP for being a language that allows buggy = code. This is the end result if trying to turn PHP into everything for = everybody. Instead, PHP should make up it's mind and stop littering the = php.ini with semantics/behavior configuration for the language. Have one behavior. Stick with it. Make it obvious. ------=_NextPart_000_0041_01CD71EB.09F1D7B0--