Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:121077 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 75804 invoked from network); 17 Sep 2023 09:59:49 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 17 Sep 2023 09:59:49 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id DB764180506 for ; Sun, 17 Sep 2023 02:59:48 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-yw1-f178.google.com (mail-yw1-f178.google.com [209.85.128.178]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 17 Sep 2023 02:59:48 -0700 (PDT) Received: by mail-yw1-f178.google.com with SMTP id 00721157ae682-59b5484fbe6so38827077b3.1 for ; Sun, 17 Sep 2023 02:59:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1694944787; x=1695549587; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=xXU12t+aDOf4fJEHGK3IyLTP6YRpzJUeb7ofKgh253s=; b=XRpdbzKOWIGjl4yDob0EGtXzOM6JHxlPuuyl8hRuLXc9thUmqFbdx31m/IyF0wEIwV hRupZnMu3+wBFavBFz2DNQ16kBAO5ftyOnQkxje7zSAf0oqMkE3c/zA52Z/ee3JZbQw/ AgAJ8zSXf/QaqhgGX98kzn8FZYVhfc1D9kiMou4ZUvZQxb9E7oAHefeNxRSbFzGikfu7 bE3KgiK+P0EKKlUez9sj2k9DHfJxGk8guLz0zA0Rb/A27T51OYX5jPTnIpKnaqcHydL1 6YeKHje2Xgi8spPEY7FgZsHmsOn+3Q3Y5XhHYWEGCDEN+ZMmB2D/fNwr5MhhxgQ18Obu wVtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694944787; x=1695549587; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xXU12t+aDOf4fJEHGK3IyLTP6YRpzJUeb7ofKgh253s=; b=EWfC/MO9p4FZsZtnfZt0SfhTYg1Z2i37EzG1G32tO4FTMSc4FgYhn2lL9+nwryNqMN Rr/AlbswA7sk/cfL0LHXLN2s+ziSpNmzZZjTSYbIQCqdTuqOBn4QXKNLByBILutksJVk NLJtVC7IVXkHfOw15y3VRmK4iBawJjz+ZPTVx0osyYADCvJjrnWYvaivmfEMa3D8vEfT 90jEeokntw52n97Ku8QMDXRfRzvJwKrzJnxAfG9WmxI5KgeXGkQ6rs33oisY+JV1AgD+ 0hMed72elgPYxmYFjQi+YRNqryFhqDWJYKzLQICuj6ifvN8y+52y7I+2ntBxeGn/nRV+ imjg== X-Gm-Message-State: AOJu0YzC6x6lMqzT05yBTcrZS9VKMPVyu358SWxThXatkoEUoXain/Oq WuHiqWVoU1hOTQnHB36kYt//ee8A2lF/+mNOouM= X-Google-Smtp-Source: AGHT+IHtuOLG1WZqUBhGyXhtgmm3a2D2NF1qnR1G+K2Ke7gu5NNTZ3sIbCQsyI/RQxWZOBUpFmwP2tAHkdpkQBtqj0s= X-Received: by 2002:a0d:ea97:0:b0:58f:9cd8:9e4d with SMTP id t145-20020a0dea97000000b0058f9cd89e4dmr6478928ywe.46.1694944787478; Sun, 17 Sep 2023 02:59:47 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Sun, 17 Sep 2023 12:59:33 +0300 Message-ID: To: Niels Dossche Cc: PHP Internals Content-Type: multipart/alternative; boundary="000000000000f8be9406058b1502" Subject: Re: [PHP-DEV] Re: [RFC] [Discussion] DOM HTML5 parsing and serialization support From: drealecs@gmail.com (=?UTF-8?Q?Alexandru_P=C4=83tr=C4=83nescu?=) --000000000000f8be9406058b1502 Content-Type: text/plain; charset="UTF-8" On Sat, Sep 16, 2023, 02:17 Niels Dossche wrote: > > We'll add a common abstract base class DOM\Document (name taken from the > DOM spec & Javascript world). > DOM\Document contains the properties and abstract methods common to both > HTML and XML documents. > > Hi, Yes looks a lot better. Great work overall! And thank you for taking on this effort. I would have a small suggestion: to make the abstract class an interface. This will allow even more flexibility on how things can be build further, suggesting composition over inheritance. In user land we cannot have interfaces with properties (yet) but in php internal interfaces we have example with interface UnitEnum that has name property, extendes by BackedEnum that adds value property. Thank you, Alex --000000000000f8be9406058b1502--