Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103834 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 79509 invoked from network); 24 Jan 2019 18:22:09 -0000 Received: from unknown (HELO mail-it1-f176.google.com) (209.85.166.176) by pb1.pair.com with SMTP; 24 Jan 2019 18:22:09 -0000 Received: by mail-it1-f176.google.com with SMTP id a6so4774058itl.4 for ; Thu, 24 Jan 2019 07:00:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=mSwapMrdOV3bON4uRJziDbX6xdTixqOW3ZLerrrhNwk=; b=No2/9AAvX1pTkz+htb/n7MLq9q6tk5pPSX7l+drxF39VFsALaKOqN4WjLvV9DC8/iU kntjoZsayF+8OS6auomA4vbt/EsRj5J8g4h1IW/rnc9r4q/yNAZACT5ekLwruzKq9hcp mbmC8+BX5LSPxkjb1ObREALnI8WTGpAk9uIn+9v3OAaUrL5Y7eimbzEgoAaBdtn9VLlG xQKUaZgFPu4qNisXQvLFySMa0RXQu6JvU6ns4PeUPLRawzPkzwhjusmdJUoH+aNqADYX Isg66Z8IAeuhTuylG0m4lAhyLaJR7/oLHhmThq+l49Y2KP82hP2H5v0UV9l4wOuLMEHV 4FHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=mSwapMrdOV3bON4uRJziDbX6xdTixqOW3ZLerrrhNwk=; b=GETeHn0pupkPy+dIo1bZZitpoDPRDTf+cmSO+bwJJz4T198Zdn8ajO8k9NlpmLCKdB 1VSr9yA2067OZVNXwPHclzIoLNh8tZBR+7miqgY6yojO+rzGirVT4CfaUeKSHu9xX+Hg jWITHzvFmg0DQx677wSqMjgeBVoxFCghGRWdxzXizsMZooqgQX7KvUZhalr2mZi3WmrO WpDtEZcrlahnjd+SYN6zuAB071oLO41Jm6+QIUHBXug3FrJgmjaVB/wSIv2TdgBJT/nO 04tOPQGvUEyt3QqTJqgqTLoiFmp5XtfPgI9PVgLuSuwXNaaR7T/XjWKL0Jalykpmsent q0mg== X-Gm-Message-State: AJcUukem/awjl4B2+uqnjKagE43vqQxxTRaBuzlLqWXb1Y89fys7qi7E M3xwP4IqLAMbGPJFJe9hcNS13bxhFuNB4Z8UWZ4= X-Google-Smtp-Source: ALg8bN5iZoJ40mz7NOOiRjKERUTle1xSab1pvwyvhZxRIu9OP07VNrWXVScPT0eTvFSUUdjVBsrQ/FUuL9oEphLlWa8= X-Received: by 2002:a24:d4c2:: with SMTP id x185mr1697666itg.34.1548342018383; Thu, 24 Jan 2019 07:00:18 -0800 (PST) MIME-Version: 1.0 References: <20190124131514.CD9051000DB@smtp02.mail.de> <96949d28-1b59-4d8b-9db7-6c5047d180f7@www.fastmail.com> <20190124145342.305136480532@dd16914.kasserver.com> In-Reply-To: <20190124145342.305136480532@dd16914.kasserver.com> Date: Thu, 24 Jan 2019 15:00:07 +0000 Message-ID: To: Thomas Bley Cc: Nikita Popov , PHP internals Content-Type: multipart/alternative; boundary="000000000000ff24aa058035776b" Subject: Re: [PHP-DEV] [RFC] New custom object serialization mechanism From: rowan.collins@gmail.com (Rowan Collins) --000000000000ff24aa058035776b Content-Type: text/plain; charset="UTF-8" On Thu, 24 Jan 2019 at 14:53, Thomas Bley wrote: > To me it's not clear why we need all these methods, for example: > > $a = new A(); > $aSerialized = serialize($a->toArray()); > $aRestored = A::createFromArray(unserialize($aSerialized)); > > Apart from security problems, problems with versioning and unreadable data > in databases, > I don't see many benefits from using serialize()/unserialize(). > That looks like basically the same methods as proposed, but with different names: class A has implemented toArray(), and it either recursively calling toArray() on other objects, or is returning those instances for default handling by serialize(). If the proposed functions were marked as a generic serialization interface, as Larry suggests, they would just be standardising this exact pattern. Regards, -- Rowan Collins [IMSoP] --000000000000ff24aa058035776b--