این کد PHP به نظر زیادی سریع و رئلتایم اجرا نمیشه؟!😉
این نسخه #وردپرس چطور؟ زیادی غیرعادی سریع نیست؟😉
https://playground.wordpress.net/
به php-wasm خوش آمدید!😊
جادوگریهای جدید PHP رو در زیر باهم ببینیم.👇🏿
#PHP #برنامه_نویسی
ویدیو:
https://x.com/NabiKAZ/status/1876312476587106583
تسخیر قلهی تازه توسط PHP، اینبار کلاینت!
پروژهی اجرای موتور پردازشی PHP سمت کلاینت بدون ارسال درخواست سمت سرور، با کمک وباسمبلی!🤩
https://github.com/seanmorris/php-wasm
جدیداً هم توی داکیومنت php.net هم مثالها قابل ویرایش و با همین تکنیک و به سرعت رن میشن.
مثال:
https://www.php.net/manual/en/function.var-dump.php
هم امکان این هست که توی تگ اسکریپت وسط کدهای HTML اجرا بشه درست شبیه جاوا اسکریپت.
هم امکان این هست وبسرور سمت کلاینت شبیهسازی بشه و کل پروژه سمت سرور بدون تغییر بیاد سمت کلاینت که با یک ورکر همه درخواستهای HTTP که پروژه شما میزنه رو شبیه سازی میکنه و دیگه سمت سرور نمیرن.
https://github.com/seanmorris/php-wasm
در همین راستا این پروژه هم پل ارتباطی بین PHP و جاوااسکریپت در محیط وب رو فراهم کرده و به PHP اجازه میده تا به API های جاوااسکریپت و DOM دسترسی پیدا کنه.
https://github.com/seanmorris/vrzno
با ترکیب همه اینها نسخه GTK یعنی پنجرههای گرافیکی هم براش درست کردند.
دقت کنید اینجا node (به کمک لایبری NodeGTK) فقط داره اجراش میکنه، وگرنه سورس اصلی با PHP نوشته شده.
https://github.com/seanmorris/php-gtk
فیلم:
https://x.com/NabiKAZ/status/1876312497600569729
امکان این رو دارید اون رو روی کلودفلر به همراه یک دیتابیس مستقر کنید تا بدون داشتن سرور، سرویسدهنده خود رو راه بندازید.
https://github.com/seanmorris/pdo-cfd1
همچنین درایور pglite هم موجوده.
https://github.com/seanmorris/pdo-pglite
اینجا فریمورکهای CakePHP, CodeIgniter, Drupal, Laravel, laminas رو روی بروزر و بدون سرور، دیپلوی کنید. شبیه بالا آوردن سیستم عامل روی بروزر توسط وباسمبلی که قبلاً دیدید. اینجا موتور PHP سمت کلاینت قدرت رو به دست گرفته (:
https://seanmorris.github.io/php-wasm/select-framework.html
اینجا کدهای PHP خودتون رو میتونید با همین موتور پردازش PHP سمت کلاینت و آنی اجرا و پردازش کنید:
https://seanmorris.github.io/php-wasm/embedded-php.html
اینم هست:
لاراول هم باش بالا آوردن که الان سایتش خرابه:
https://laravel-breeze-livewire-volt.playwithlaravel.com/
ولی این باید سورسش باشه که میشه تست کرد:
https://github.com/ijpatricio/playwithlaravel
این ویدیوی کوتاه نمایش قدرت رو هم میتونید ببینید:
این نمونه ساده اجرایی با کد PHP وسط HTML و اسکریپت تایپ text/php جالب نیست؟!
<script type="text/php" ... 😏
https://playwithlaravel.com/wasm/counter
اما چند جمله نظرات خودم...
طبعاً میشه بار زیادی رو از سمت سرور آورد روی کلاینت و درخواستها به سرور رو به حداقل رسوند. اما در کل کاربرد اصلیش توی همین توسعه فرانته چون به DOM دسترسی داره و همون کدهای سمت سرور رو میشه آورد سمت کلاینت.
درواقع کل پروژه شبیه سمپل وردپرس دربالا، داره به شکل یه سینگل پیج اپلیکیشن بدون رفرش شدن روی وب اجرا میشه و تمام توان پردازش سمت کلاینت رفته.
به نظرم کاربردش شبیه عملکرد js/nodejs هست برای یکپارچه شدن بکاند و فرانت.
درمورد دیتابیس هم درسته که دیتابیس سمت سرور باید باشه ولی این قابلیت اتصال به دیتابیس هم داره که فکر میکنم میتونه یه کانکشن به یه دیتابیس ریموت بزنه و رئلتایم روش کوئری بزنه.
شاید تنها عیبش حجم 3.5 مگیه فایل هسته WASM باشه که اونم با CDNها تا حدی میتونه حل بشه.
لینک من در توئیتر:
https://x.com/NabiKAZ