1. مقدمهای بر زبان PHP 7
PDF در این سند در |ICI| در دسترس است.
نمونههای موجود در این سند در |ICI| موجود است.
این سند بخشی از مجموعهای متشکل از چهار مقاله است:
- [مقدمهای بر زبان PHP7 از طریق مثالها (۲۰۱۹)]. این سند فعلی است؛
- [مقدمهای بر زبان ECMAScript 6 از طریق مثالها (۲۰۱۹)];
- [مقدمهای بر فریمورک Vue.js از طریق مثالها (۲۰۱۹)];
- [مقدمهای بر فریمورک NUXT.JS از طریق مثالها (۲۰۱۹);
اینها همه اسنادی برای مبتدیان هستند. مقالات از نظر منطقی به یکدیگر پیوستهاند اما ارتباطشان سست است:
- سند [1] زبان PHP 7 را معرفی میکند. خوانندگانی که تنها به زبان PHP علاقهمند هستند و نه به جاوااسکریپتی که در مقالات بعدی پوشش داده شده است، باید در اینجا متوقف شوند؛
- اسناد [2-4] با هدف ساخت یک کلاینت جاوااسکریپت برای سرور محاسبه مالیات توسعهیافته در سند [1] هستند؛
- فریمورکهای جاوااسکریپت [vue.js] و [nuxt.js] در مقالات ۳ و ۴ نیازمند دانش جاوااسکریپت از آخرین نسخههای ECMASCRIPT، یعنی نسخههای ۶، هستند. بنابراین، سند [2] برای کسانی در نظر گرفته شده است که با این نسخه از جاوا اسکریپت آشنایی ندارند. این سند به سرور محاسبه مالیات موجود در سند [1] اشاره میکند. بنابراین خوانندگان [2] ممکن است گاهی اوقات نیاز داشته باشند به سند [1] مراجعه کنند؛
- پس از تسلط بر ECMASCRIPT، میتوانید به چارچوب VUE.JS بروید که به شما امکان میدهد کلاینتهای جاوااسکریپتی بسازید که در حالت SPA (برنامههای تکصفحهای) در مرورگر اجرا میشوند. این سند [3] است. این سند هم به سرور محاسبه مالیات که در سند [1] ساخته شده و هم به کد کلاینت جاوااسکریپت مستقل که در [2] ساخته شده، اشاره میکند. بنابراین خوانندگان [3] گاهی اوقات باید به اسناد [1] و [2] مراجعه کنند؛
- پس از تسلط بر VUE.JS، میتوانید به چارچوب NUXT.JS بروید که امکان ایجاد کلاینتهای جاوااسکریپت را فراهم میکند که در حالت SSR (رندر سمت سرور) در مرورگر اجرا میشوند. این اشاره به هر دو سرور محاسبه مالیات توصیفشده در سند [1] دارد، کد کلاینت جاوااسکریپت مستقل ساختهشده در [2]، و برنامه [vue.js] که در سند [3] توسعه یافته است. بنابراین خوانندگان [4] ممکن است گاهی اوقات نیاز داشته باشند به اسناد [1]، [2] و [3] مراجعه کنند؛
این سند فهرستی از اسکریپتهای کنسول PHP در حوزههای مختلف (ساختارهای زبانی، دسترسی به فایلها، پایگاههای داده و اینترنت) را ارائه میدهد. برنامهنویسی وب از طریق سرویسهای وب پوشش داده شده است. در این سند، اصطلاح «وب سرویس» به هر برنامه وبی اطلاق میشود که متن ساده تولید میکند. اینها سرورهای داده هستند، نه سرورهای صفحات وب، که ترکیبی از HTML، CSS و جاوا اسکریپت هستند. این شامل مفاهیم کلاسیک وب (پروتکل HTTP، پاسخهای jSON یا XML، مدیریت جلسه، احراز هویت) میشود که در برنامهنویسی وب سنتی نیز استفاده میشوند.
امروزه، ساخت برنامههای وب با استفاده از معماری مشتری/سرور رایج است:

- در [1]، مرورگر وب صفحات وبی را که برای کاربر [5, 7] در نظر گرفته شدهاند، نمایش میدهد. این صفحات حاوی جاوااسکریپتی هستند که یک کلاینت برای سرویس دادههای وب [2] و همچنین یک کلاینت برای سرور قطعه صفحه وب [3] پیادهسازی میکند. یک چارچوب تثبیتشده در این زمینه، Angular 2 گوگل (مه ۲۰۱۹) است؛
- در [2]، سرور وب یک سرور داده است. میتواند به هر زبانی نوشته شود. صفحات وب را به معنای سنتی (HTML، CSS، JavaScript) تولید نمیکند، مگر شاید در اولین بار. با این حال، این صفحهٔ اول را میتوان از یک وبسرور معمولی ([3] – نه یک سرور داده) دریافت کرد. سپس جاوااسکریپت موجود در صفحه اولیه، با بازیابی دادههای [4] برای نمایش از سرور وب، که بهعنوان سرور داده [2] عمل میکند، صفحات وب مختلف برنامه را تولید خواهد کرد. همچنین میتواند قطعات صفحات وب [5] را برای ارائه این دادهها از سرور صفحه وب [3] بازیابی کند؛
- در [4]، کاربر عملی را آغاز میکند؛
- در [6,7]: آنها دادههایی را که در یک قطعه صفحه وب ارائه شده است، دریافت میکنند؛
در این سند، ما برنامههای کلاینت/سرور را در PHP7 با ساختار زیر خواهیم نوشت:

در اینجا یک برنامه کلاینت/سرور داریم که در PHP نوشته شده است. یک اسکریپت کنسول [9] از یک سرور داده [4] پرسوجو خواهد کرد. دانش کسبشده در اینجا برای نوشتن سرویس داده میتواند در یک برنامه وب مجدداً استفاده شود. سرویس داده در PHP میتواند حفظ شود، در حالی که کلاینت PHP با یک کلاینت جاوااسکریپت جایگزین خواهد شد.
بهعنوان موضوع اصلی این سند، ما یک سرویس محاسبه مالیات را در ۱۳ نسخه خواهیم ساخت. نسخه ۱۳ معماری زیر را خواهد داشت:

لایه [web] سرور دارای معماری MVC (مدل–نما–کنترلکننده) خواهد بود. کل دوره PHP 7 با هدف ساخت این نسخه ارائه شده است.
اسکریپتهای این سند دارای توضیحات (کامنت) هستند و خروجی کنسول آنها بازتولید شده است. توضیحات تکمیلی در صورت لزوم ارائه شده است. این سند نیازمند خواندن فعال است: برای درک یک اسکریپت، باید کد آن، توضیحات آن و نتایج اجرای آن را بخوانید.
مثالهای این سند در |اینجا| موجود است.
Serge Tahé، ژوئیه ۲۰۱۹