[PECL-DEV] Introduction & First PHP Extension – Bringing Desi gn by Contract (DbC) to PHP

[email protected] (Andrea M) Wed, 19 Mar 2025 21:57:28 +0100
Newsgroups php.pecl.dev
Message-ID <CA+x6MRxB4i50g14U1qMFAd3cV6FC7AFGSyJEi0CL1P3jy8ro+A@mail.gmail.com>
--0000000000009640b10630b84554
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi everyone,

I started my journey as a LAMP developer back in 2004, working with PHP 4
and MySQL 3. For years, PHP was my daily driver, but toward the end of
2011, I transitioned to JavaScript, gradually writing less and less
PHP=E2=80=94until it became just an occasional tool in my stack.

That changed with *beyond-tabs.com <http://beyond-tabs.com>*. Through this
project, I found myself re-embracing PHP, and, thanks to this community, I
also discovered *Design by Contract (DbC)*=E2=80=94a paradigm that immediat=
ely
resonated with me. Now, I want to take the next step and author my very
first PHP extension: *Invariant PHP
<https://github.com/andreamancuso/invariant-php>*, bringing DbC principles
to the language.

Beyond just being an extension, I see this as a *proof of concept*=E2=80=94=
a way to
demonstrate the value of DbC in PHP and potentially spark a conversation
about native support in future PHP versions. I=E2=80=99m eager to learn fro=
m this
group, get feedback, and hopefully contribute something meaningful to the
ecosystem.

Looking forward to your guidance and insights!

Best,
Andrea

--0000000000009640b10630b84554
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">
<p>Hi everyone,</p>
<p>I started my journey as a LAMP developer back in 2004, working with PHP =
4 and MySQL 3. For years, PHP was my daily driver, but toward the end of 20=
11, I transitioned to JavaScript, gradually writing less and less PHP=E2=80=
=94until it became just an occasional tool in my stack.</p>
<p>That changed with <strong><a href=3D"http://beyond-tabs.com">beyond-tabs=
.com</a></strong>. Through this project, I found myself re-embracing PHP, a=
nd, thanks to this community, I also discovered <strong>Design by Contract =
(DbC)</strong>=E2=80=94a paradigm that immediately resonated with me. Now, =
I want to take the next step and author my very first PHP extension: <stron=
g><a href=3D"https://github.com/andreamancuso/invariant-php">Invariant PHP<=
/a></strong>, bringing DbC principles to the language.</p>
<p>Beyond just being an extension, I see this as a <strong>proof of concept=
</strong>=E2=80=94a way to demonstrate the value of DbC in PHP and potentia=
lly spark a conversation about native support in future PHP versions. I=E2=
=80=99m eager to learn from this group, get feedback, and hopefully contrib=
ute something meaningful to the ecosystem.</p>
<p>Looking forward to your guidance and insights!</p>
<p>Best,<br>
Andrea</p>

</div>

--0000000000009640b10630b84554--