Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:98525 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 97522 invoked from network); 14 Mar 2017 22:59:39 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Mar 2017 22:59:39 -0000 Authentication-Results: pb1.pair.com header.from=nikita.ppv@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=nikita.ppv@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.128.179 as permitted sender) X-PHP-List-Original-Sender: nikita.ppv@gmail.com X-Host-Fingerprint: 209.85.128.179 mail-wr0-f179.google.com Received: from [209.85.128.179] ([209.85.128.179:35039] helo=mail-wr0-f179.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 94/29-38004-AD578C85 for ; Tue, 14 Mar 2017 17:59:39 -0500 Received: by mail-wr0-f179.google.com with SMTP id g10so335138wrg.2 for ; Tue, 14 Mar 2017 15:59:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=XyDQPw3r+cbOVDRRAQAOJx0vhuxP71E9UsxKmg9/e2g=; b=c+Vi8tMf+nXPkpVwDmpmCBu4hFpiBRNpSuoI0+xBRiTRnCjoBV2iZdwXkT0RsGvA/X 9bG2tDmssorUeyoruQ2vGjmopz3KFvdzpVOExKBBprRwdWvhsvT7kMJpr5jKTS6ThdM2 Whu74LUXubHqKThaYMPLZW4z/GaeegV4IHBXTp38pCyWz2Z43jyKLDG9NzpSXusbcUo8 R0uxeXXt5AMJIr+1WjLiBjumL+O/aFL6MgIB5WvuKZuliXzOutChXtNMP2ZHwMX//JCu ZBj2Ybb7k3FAftz0SIo4THvkMASnW03ISbb4Ex8WW9gvjPEys/M606hCS2JXVo1k5OC/ ilig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=XyDQPw3r+cbOVDRRAQAOJx0vhuxP71E9UsxKmg9/e2g=; b=Of9s8XtLWAWEuMgCIWDd99zPJK/hC1FNHqTtHLbyiN5CGHRZIKHxIItqsjlHCYpxDP jCrHSlckUFlnF6oFY6eQVrJexTMAQ3vYkMwfpRChrgqdaBAS6yd0rSKH3yqdv++V0R0b 2KzhvAo6JWCC9MzUEOANSnd4zNdBdefN8nk3SkBu9ZxYvQ434p5t0suGxdH2E6y5+a9f gk4xgGEDTt3RxkL2V+iAD9kj0XqAX7pKtaC2pUL31h6pTVAucDhcfKC8t74E2Q4DZLLp G9Fpfpux49bhYNDJTkYTVF39RXkeV1eKyGCOVZGFBpAwiasB8+ezUYBDw6QP4ERc9Alf GhCg== X-Gm-Message-State: AFeK/H2GZcMk6SH/eoKB9rb3agpLV5zYin7B2QyK36JbZ9PipvyDpS10HUhY6Cfmo+rw7TJL098Sww1EHHTDIg== X-Received: by 10.223.176.143 with SMTP id i15mr87548wra.136.1489532375740; Tue, 14 Mar 2017 15:59:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.170.216 with HTTP; Tue, 14 Mar 2017 15:59:35 -0700 (PDT) In-Reply-To: References: <04.57.38004.22D38C85@pb1.pair.com> Date: Tue, 14 Mar 2017 23:59:35 +0100 Message-ID: To: Derick Rethans Cc: Andrea Faulds , PHP internals Content-Type: multipart/alternative; boundary=001a1141b6a023390e054ab8c8a0 Subject: Re: [PHP-DEV] [PATCH] Make var_export() output "(object)array(..." instead of "stdClass::__set_state(..." for stdClass From: nikita.ppv@gmail.com (Nikita Popov) --001a1141b6a023390e054ab8c8a0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, Mar 14, 2017 at 11:20 PM, Derick Rethans wrote: > On Tue, 14 Mar 2017, Andrea Faulds wrote: > > > Hi everyone, > > > > Since stdClass has no __set_state method, var_export() produces unusabl= e > > output if given an object of that class. I wrote a patch that would mak= e > > var_export() produce a cast to object instead, which could be evaluated > to get > > back a stdClass: > > > > https://github.com/php/php-src/pull/2420 > > > > Any thoughts/comments? > > As original author of var_export, I approve of this =E2=80=94 including n= ot > adding __set_state(). > > cheers, > Derick > I'm also +1 on this, and also prefer not having __set_state(). An object cast is both more idiomatic and more performant. Additionally I feel that adding methods to stdClass will muddy the waters -- for example, this means that extending stdClass is no longer entirely unreasonable, as you might want to do it to reuse the __set_state() implementation. Not something I want to see happening. Nikita --001a1141b6a023390e054ab8c8a0--