نبی
نبی
خواندن ۲ دقیقه·۴ روز پیش

تسخیر قله‌ی تازه توسط PHP، اینبار کلاینت! (یکم جادوگری ببینیم!)

این کد PHP به نظر زیادی سریع و رئل‌تایم اجرا نمیشه؟!😉

https://oraoto.github.io/pib/

این نسخه #وردپرس چطور؟ زیادی غیرعادی سریع نیست؟😉

https://playground.wordpress.net/

به php-wasm خوش آمدید!😊

جادوگری‌های جدید PHP رو در زیر باهم ببینیم.👇🏿

#PHP #برنامه_نویسی


ویدیو:
https://x.com/NabiKAZ/status/1876312476587106583


تسخیر قله‌ی تازه توسط PHP، اینبار کلاینت!

پروژه‌ی اجرای موتور پردازشی PHP سمت کلاینت بدون ارسال درخواست سمت سرور، با کمک وب‌اسمبلی!🤩

https://php-wasm.seanmorr.is/

https://github.com/seanmorris/php-wasm


جدیداً هم توی داکیومنت php.net هم مثال‌ها قابل ویرایش و با همین تکنیک و به سرعت رن میشن.

مثال:

https://www.php.net/manual/en/function.var-dump.php




هم امکان این هست که توی تگ اسکریپت وسط کدهای HTML اجرا بشه درست شبیه جاوا اسکریپت.

https://github.com/oraoto/pib


هم امکان این هست وب‌سرور سمت کلاینت شبیه‌سازی بشه و کل پروژه سمت سرور بدون تغییر بیاد سمت کلاینت که با یک ورکر همه درخواست‌های 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://oraoto.github.io/pib/


لاراول هم باش بالا آوردن که الان سایتش خرابه:

https://laravel-breeze-livewire-volt.playwithlaravel.com/


ولی این باید سورسش باشه که میشه تست کرد:

https://github.com/ijpatricio/playwithlaravel


این ویدیوی کوتاه نمایش قدرت رو هم میتونید ببینید:

https://www.youtube.com/watch?v=L-MAzsDm5d0


این نمونه ساده اجرایی با کد PHP وسط HTML و اسکریپت تایپ text/php جالب نیست؟!

<script type=&quottext/php&quot ... 😏

https://playwithlaravel.com/wasm/counter


اما چند جمله نظرات خودم...


طبعاً میشه بار زیادی رو از سمت سرور آورد روی کلاینت و درخواست‌ها به سرور رو به حداقل رسوند. اما در کل کاربرد اصلیش توی همین توسعه فرانته چون به DOM دسترسی داره و همون کدهای سمت سرور رو میشه آورد سمت کلاینت.


درواقع کل پروژه شبیه سمپل وردپرس دربالا، داره به شکل یه سینگل پیج اپلیکیشن بدون رفرش شدن روی وب اجرا میشه و تمام توان پردازش سمت کلاینت رفته.


به نظرم کاربردش شبیه عملکرد js/nodejs هست برای یکپارچه شدن بکاند و فرانت.


درمورد دیتابیس هم درسته که دیتابیس سمت سرور باید باشه ولی این قابلیت اتصال به دیتابیس هم داره که فکر میکنم میتونه یه کانکشن به یه دیتابیس ریموت بزنه و رئل‌تایم روش کوئری بزنه.


شاید تنها عیبش حجم 3.5 مگیه فایل هسته WASM باشه که اونم با CDNها تا حدی میتونه حل بشه.


لینک من در توئیتر:
https://x.com/NabiKAZ


سمت سرورسمت کلاینتphpبرنامه نویسیوب اسمبلی
شاید از این پست‌ها خوشتان بیاید