Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126438 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 10C8A1A00BC for ; Tue, 18 Feb 2025 10:00:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1739872658; bh=4r+Lxfk+KnChCblrWpfKP3/5T2pIQ+VkINlsfUWWpWI=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Vr23WcK6ayExfj6LBZT7udnDSlfRBUuvgzJ6EjRdB6vY+89U1wAmQrTTO4G2Hz9OJ 0inccdHSM20ayWokNM8Ca89ri9yfqMssyeA5jxiAXbmcv107XGN5OnhGY5Utzfb7KD oWS+37TCZucJqewrCDGE609CWEtj1RJnxvlpmCdIp1hHDfFrEM9ahmgI/vFaUEOw9V 2j//ZCnMxlsJKCc3YeMoOxps3Xomlf7BjsaoSYmOLodl+ThVVsjXApxCOOFOROMBR5 ACT6sd/ijhBsxWk5N++Kw/4yRlX8AXjweHZLanvIjcuT0+x94Tfqjvotxzxlm/UoQx SKb5iT3Ij6kCg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3230E180560 for ; Tue, 18 Feb 2025 09:57:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 18 Feb 2025 09:57:38 +0000 (UTC) Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-38f3ee8a119so1228058f8f.0 for ; Tue, 18 Feb 2025 02:00:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739872818; x=1740477618; 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=4r+Lxfk+KnChCblrWpfKP3/5T2pIQ+VkINlsfUWWpWI=; b=bT6S1m5A1jA39++tdUFlu1qretPc4MHAMif3RvCdOadYpupBwDN7h3lsrLfvdQ+8xL qgpNtpdkWmpwr0vQoGpUk+xw78CLIsHGOCWFH0OHaW1PTA0l2ucib2fXlkhiAkH9Qph4 UpQdDJSZ6JCjwuqHUchVadhP21i/Nr3HFdxQCyTRjqefexMoJz6NAwNTYfxJvyxWFn/z g3/yss/S1qodtWQ7+/6nnT1k5LI3/cVVEXVSMG2223Y9JfJYvMb8RGN/opsWqsl4FQYi TyUkzEVVbEraiGq15Uq/+vK2OTqgdj6fQmThYXYWHU8RUSOJV+2PfhSR1bQi7oTtcEpr ar3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739872818; x=1740477618; 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=4r+Lxfk+KnChCblrWpfKP3/5T2pIQ+VkINlsfUWWpWI=; b=QfdF/TJAmziNiZ1fpyX7LLu/vhE0ArzA1T3DiWN+X72GXgRz4Yul7IBFjjKRP77BoQ cHpiBUOTXGYvNfBJeA2pkUAca4Rx4tTfI2gZjrHM9yRcaNjwME5sdDKLr7cTNzmSOvWk Hv4y5lkUQyn2VzM679SQhhIiZbON1yDrYPBlxJ0Fx+ErHb3c8UFA7fjug6Wuy/XcjIWz ERfY93h6EZ6c8otG0YMcwaj5mNqTYYUPurvt/bCc2mTHv3y+tLWDOJ292fTtlyGGp4ae iTbUohjzCwXrgQCo3wMbYU0m/fdSCRvGIjm9icztYB2WTvZ48fRkLuLLFwjx37SbPqkE ZZVg== X-Gm-Message-State: AOJu0Yy62bpFLdzMdsqOWLwBYIGsiXzcgkJH8aCdrp17Gkw/d/k/3DCg XfO/blm+Ui2r9ZqMJCOTbn5PwYNwVMwFdTub0boLl435FyEdH5qRdLQF8kGHzBriKs1Y1uvv0a+ 6tPLaR4ZdDYUGKi0oStMRUrV+VDFzUj+Ensox X-Gm-Gg: ASbGncubqONbuyJY5HUKD6kbcLX7Z1T1O6Vvr0MfgXxmsNZlSZp6c6yDTWTLyC7Q8qr l1L/nb2a97Qa/20bQwUzbmwRCDoeX/ozxgaImO/OPHK+P6WLrHbqHRIIdV9+Ws2fO8d1bY7E= X-Google-Smtp-Source: AGHT+IHbaB6Ido9BJPgi+IZ1yn+UyaH5nsij1eVDMqBVCnbNhrLgFRVG/K8aOrhLnbAsNwDQbaPF0VryVaGe5jm4Uu4= X-Received: by 2002:a05:6000:178e:b0:38f:3d41:3cc5 with SMTP id ffacd0b85a97d-38f3d50a57amr8288784f8f.34.1739872817635; Tue, 18 Feb 2025 02:00:17 -0800 (PST) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: <64cd12e2-b2bd-4377-a9d0-a88cb790ba65@php.net> In-Reply-To: <64cd12e2-b2bd-4377-a9d0-a88cb790ba65@php.net> Date: Tue, 18 Feb 2025 13:00:06 +0300 X-Gm-Features: AWEUYZmproYkwIV03zgwJ_JERO8JffnAjlq04ZnJr_QNI17OIBYKFRWMFwzkd5c Message-ID: Subject: Re: [PHP-DEV] Concept: constructor overloading syntax sugar To: Sebastian Bergmann Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="0000000000003fea73062e67b59c" From: udaltsov.valentin@gmail.com (Valentin Udaltsov) --0000000000003fea73062e67b59c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 18 Feb 2025=E2=80=AFat 12:45, Sebastian Bergmann wrote: > Am 18.02.2025 um 09:00 schrieb Rowan Tommins [IMSoP]: > > named constructors make a lot more sense than type-based overloads > > +1 > Hi, Viktor. I agree with others that named static constructors are much better than overloading of the primary constructor. Regardless of whether it is possible in PHP or not. Even for Java that supports overloading, Robert Martin recommends factory methods in his book "Clean code": "Prefer static factory methods (with names that describe the arguments) to overloaded constructors." Also see this discussion: https://stackoverflow.com/questions/628950/constructors-vs-factory-methods --=20 Valentin --0000000000003fea73062e67b59c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Tue, 18 Feb 2025=E2=80=AFat 12:45, Sebastian Bergm= ann <sebastian@php.net> wrot= e:
Am 18.02.2025 um 09:00 schrieb Rowan Tommi= ns [IMSoP]:
> named constructors make a lot more sense than type-based overloads

+1

Hi, Viktor.

= I a= gree others that = named static = constructors are much better than overloading of the primary constructor. Regardlessofwhether it is possible in PHP or not.

Even for Java that supports overloading, Robert Martin recommend= s factory methods in his book "Clean code": "Prefer static f= actory methods (with names that describe the arguments) to overloaded const= ructors."


-- <= /span>
Valen= tin
--0000000000003fea73062e67b59c--