Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126535 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 672A81A00BC for ; Sat, 1 Mar 2025 06:48:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1740811545; bh=Lp6jKkis3XmzXyavVRWqNwyb86ca7M8HVY4lxBJ3sR8=; h=From:Subject:Date:References:Cc:In-Reply-To:To:From; b=TzUk543uSI1ydgyayEkm3aZsiDbWBa1PG7jXEklFEMvkErnRlV5EcqP77WPigIGQp 9jW/BYbYLR8MwVMGoEcGx009ACD9+oeoG8SrX2gTEIfTG6PsYuloq4Ak2kT5IJ98xz IGC40pL3BxQFQu8d8yhFi5ReFM/GUDtUw76ELjHvbyAsKrioVM0/jyi16hGC4ok3o4 RK8n9ObvT/c0zKHhia1sLIHQPm+iEbLd+JAb90T8/cnSt/EZkXdBbJF1XSxX2GjHMa u8b2QJQ5/ivAmth+W7luVhIbGaF7UasvxrD99fKGKnGlB702Viol90n3x69BAn2aAb iGU3BRO82sDPA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0201818007D for ; Sat, 1 Mar 2025 06:45:45 +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=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (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 ; Sat, 1 Mar 2025 06:45:44 +0000 (UTC) Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-aaec111762bso514088766b.2 for ; Fri, 28 Feb 2025 22:48:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740811700; x=1741416500; darn=lists.php.net; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :content-transfer-encoding:from:from:to:cc:subject:date:message-id :reply-to; bh=Lp6jKkis3XmzXyavVRWqNwyb86ca7M8HVY4lxBJ3sR8=; b=NsEm5KLEYPS+16XY2ZjcvTfePB0Dqy/gHYI4eMO8aiX/TbmJ7Kt351luM0azCBiSJW ADe65LYxcSuD+qLZB0GmA0t16ktj9rx+oRW8R0yz/vuNkRgEkZ2S4p4Ote/D8wcCHsc4 cN3vwHyZ2+RSnsDU0orPtOa4c936hWV3WljoJw6ay2TpQcieR1Q/GCmIEyJSrpVZ9KXR uimta3asi+7lBa0kXzAT0SsHqCUE9KpqnbUfw+sKXcEdBZuNcM00tiZUrcODBENIoQqB VYr+YC5sc8O4Ksy65iKJ86fZ5wPO/zosMvgzkTim8uuiah0moiP//wT3yxcjD+n40hhx PuHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740811700; x=1741416500; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :content-transfer-encoding:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Lp6jKkis3XmzXyavVRWqNwyb86ca7M8HVY4lxBJ3sR8=; b=iFiPMRAiJBQiVxZ1sv59GeLkRS6Cdi1FwExze7Zo1ea4OumKIOl1Ao9uqDBxUsSbKW nhfKc/NYfCdqQMEE299XCaHQjHcvswxVyiatE3fe+8Wwz0RFrGQfzQY2G7m1M5HDTF3Q ou2qBvN29aaye/xRKa4R0lgWetcBQWc/1b+qfHHpBu3vZT3W0PJMZgpYZGjwDz9/Pi/A odmEolkh5ONra4z37/kzgz+j6Si+WHbVws9O/9cI47LJRB1bYjMJ86P5u33HmY1i+QL3 UsIakftHO2aKtmZ6/Fggww/vUgOMCJjDGM0qNOLpHAP/sr1mt9odZ6um6prTT5tsqAPP YZrA== X-Forwarded-Encrypted: i=1; AJvYcCURmdO5gYtyOL5+SxxdCo0Ms/+1GIpSObPsmD89L9TgRjj8GZZF1oeIaJfOoqz3Ghfn1dWhKzwRLl8=@lists.php.net X-Gm-Message-State: AOJu0YzsAh73Vaw45cBM4CO4YbfvJnxQ+oTY7QiskeXfODvu06y9BDkx VxjGQ7ty/badxcwhMsURLALZFBiTsECykFSu4+pmx74mKOEmnTML X-Gm-Gg: ASbGncsIcqvajLoOP4U46GMXApbvXtXx7X5W3uDETLcgrMjeDlZP3mcIuxipcv05RJA LHao8pXtKLNmK7KVMpSMryNTAAO8ffFqq/icUA2Eu5io07avLhl5WYEfMWZYMecHOj9faCVL4uP G6UKNYlL6jLO9gYFBeZILTZcCTG5jlNh88GzU2iJ01Dh/vt4Cc0rKJrQvlEXFxTNs0d5LFiyjCk wVB6dmzHbGSF5EilYIDzrpujoSfyeNI5rqj3N4J8SLnL+UcZizEhVkxaPBEuyExkodcZ6TUBxY1 Fo8Yg2hAS4MdHntiBfuidIi9RCtgah48iiVpZq6gl4eOS2aamEuO0vmVqps= X-Google-Smtp-Source: AGHT+IHfnDf1BoMLVAEwpPsSC6uRLc3bZ1Bn1ieKi/vyhgbBl6I2UZ5iOo3SfbQLCXpq3bHZuJBk1Q== X-Received: by 2002:a17:907:3fa7:b0:abb:b31d:778f with SMTP id a640c23a62f3a-abf25fabb6amr620159466b.20.1740811700236; Fri, 28 Feb 2025 22:48:20 -0800 (PST) Received: from smtpclient.apple ([194.87.200.155]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf15b178b0sm392105166b.58.2025.02.28.22.48.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Feb 2025 22:48:18 -0800 (PST) X-Google-Original-From: Dmitry Derepko Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow Mime-Version: 1.0 (1.0) Subject: Re: [PHP-DEV] Vibe check: array shapes Date: Sat, 1 Mar 2025 09:48:07 +0300 Message-ID: <92216E1C-33FC-4DBD-81DD-A28F10741129@gmail.com> References: Cc: Larry Garfield , Internals PHP In-Reply-To: To: Alwin Garside X-Mailer: iPhone Mail (22E5200s) From: xepozzd@gmail.com (Dmitry Derepko) Hi! > However, arrays are very ergonomic to work with, especially for passing al= ong a list of properties, which is why many frameworks and libraries still u= se them I am not agree that arrays must be typed in this way. They won=E2=80=99t be t= his arrays as they are.=20 Instead this week I=E2=80=99ve started working on PHP Schema for PHP arrays,= such as JSON or YAML schemas.=20 This is may help you to structure your code if you want to type these types (= or vendors).=20 I=E2=80=99ll make a contract for PHP schema, validator, PHP plugin and some k= ind of validation online. Hope it=E2=80=99ll cover all the needs.=20 If it sounds good for you I=E2=80=99d suggest to collaborate and work on the= se together.=20 =E2=80=94=E2=80=94 Best regards, Dmitrii Derepko @xepozz=