پی‌اچ‌پی 

context: پی‌اچ‌پی (به انگلیسی: PHP) یک زبان برنامه‌نویسیِ شیءگرا است که برای طراحی وب توسعه یافته‌است، اما می‌توان از آن به عنوان یک زبان عمومی نیز استفاده‌کرد. تا ژانویهٔ سال ۲۰۱۳ میلادی PHP روی ۲۴۴ میلیون وب‌گاه و ۲٫۱ میلیون سرور وب نصب شده‌است. این زبان در سال ۱۹۹۵ میلادی توسط راسموس لِردورف (به انگلیسی: Rasmus Lerdorf) ساخته‌شد و در حال حاضر توسعهٔ آن بر عهدهٔ گروه پی‌اچ‌پی است. در ابتدا، پی‌اچ‌پی از عبارت صفحهٔ خانگی شخصی (به انگلیسی: Personal Home Page) گرفته شده‌بود. اما اکنون این کلمه مخففِ بازگشتی PHP: Hypertext Preprocessor به معنی پی‌اچ‌پی: پیش‌پردازندهٔ ابرمتن است.
qas: answers: text: یک زبان برنامه‌نویسیِ شیءگرا
question: پی‌اچ‌پی چیست؟

answers: text: طراحی وب
question: پی‌اچ‌پی برای چه چیزی توسعه یافته؟

answers: text: یک زبان عمومی
question: از پی‌اچ‌پی به چه عنوان می‌توان استفاده کرد؟

answers: text: ۲۴۴ میلیون
question: تا ژانویهٔ سال ۲۰۱۳ پی‌اچ‌پی روی چند وب‌گاه نصب شده‌است؟

answers: text: ۲٫۱ میلیون
question: تا ژانویهٔ سال ۲۰۱۳ پی‌اچ‌پی روی چند سرور وب نصب شده‌است؟

answers: text: راسموس لِردورف
question: پی‌اچ‌پی توسط چه کسی ساخته شد؟

answers: text: سال ۱۹۹۵
question: پی‌اچ‌پی در چه سالی ساخته شد؟

answers: text: گروه پی‌اچ‌پی
question: در حال حاضر توسعه پی‌اچ‌پی بر عهده کدام گروه است؟

answers: text: صفحهٔ خانگی شخصی
question: در ابتدا، پی‌اچ‌پی از چه عبارتی گرفته شده‌بود؟ 

answers: text: پیش‌پردازندهٔ ابرمتن
question: اکنون پی‌اچ‌پی مخففِ بازگشتی کدام کلمه است؟

question: زبان سی‌شاپ در چه سالی ساخته شد؟

question: زبان سی‌شاپ توسط چه کسی ساخته شد؟

question: زبان سی‌شاپ در کجا ساخته شد؟

context: اندی گاتسمن و زیو سوراسکی با بازنویسی موتور تجزیه‌کننده در سال ۱۹۹۷ میلادی پایه و اساس نسخهٔ ۳ پی‌اچ‌پی را بنیان نهادند. این دو نفر با همراهی لردورف با تغییر نام پی‌اچ‌پی به پی‌اچ‌پی: پیش‌پردازندهٔ ابرمتن (به انگلیسی: PHP: Hypertext Preprocessor) که یک مخفف بازگشتی است، در ماه جون ۱۹۹۸ میلادی رسماً پی‌اچ‌پی نسخهٔ ۳٫۰ را منتشر کردند. بعد از این اتفاق گاتسمن و سوراسکی شروع به نوشتن هستهٔ جدیدی برای زبان پی‌اچ‌پی کردند که منجر به به‌وجودآمدن موتور زِند در سال ۱۹۹۹ میلادی شد. آن‌ها همچنین شرکت زِند تکنولوژی را در کشور اسرائیل تأسیس کردند.
qas: answers: text: بازنویسی موتور تجزیه‌کننده
question: اندی گاتسمن و زیو سوراسکی با چه چیزی پایه و اساس نسخهٔ ۳ پی‌اچ‌پی را بنیان نهادند؟

answers: text: سال ۱۹۹۷ میلادی
question: اندی گاتسمن و زیو سوراسکی در چه سالی پایه و اساس نسخهٔ ۳ پی‌اچ‌پی را بنیان نهادند؟

answers: text: پیش‌پردازندهٔ ابرمتن
question: اندی گاتسمن و زیو سوراسکی با همراهی چه کسی به تغییر نام پی‌اچ‌پی پرداختند؟

answers: text: ماه جون ۱۹۹۸
question: در چه تاریخی رسماً پی‌اچ‌پی نسخهٔ ۳٫۰ را منتشر کردند؟

answers: text: نوشتن هستهٔ جدیدی برای زبان پی‌اچ‌پی
question: بعد از منتشر شدن پی‌اچ‌پی نسخهٔ ۳٫۰، گاتسمن و سوراسکی شروع به چه کاری کردند؟

answers: text: سال ۱۹۹۹ میلادی
question: موتور زند در چه سالی به‌وجودآمد؟

answers: text: کشور اسرائیل
question: گاتسمن و سوراسکی شرکت زِند تکنولوژی را در کجا تاسیس کردند؟

question: رییس جمهور کشور اسرائیل چه کسی است؟

question: گاتسمن و سوراسکی اهل کجا بودند؟

question: گاتسمن و سوراسکی در حال حاضر در کجا فعالیت دارند؟

context: مفسر پی‌اچ‌پی تنها کدهایی را  که در درون جداکننده‌های پی‌اچ‌پی قرار بگیرند، تفسیر می‌کند. معروف‌ترین جداکننده‌های پی‌اچ‌پی علامت <?php و ?> است. جداکننده‌های دیگری، مانند <script language="php"> و </script> یا جداکنندهٔ کوتاه <? یا <?= (که برای خروجی دادن متن یا متغیر استفاده می‌شود) و <% یا <%= و %> نیز وجود دارند. تمامی نوشته‌هایی که در خارج از جداکننده‌های پی‌اچ‌پی قرار بگیرند، توسط مفسر تفسیر نشده و به عنوان خروجی ارسال خواهند شد. استفاده از جداکننده‌های کوتاه می‌تواند از قابلیت حمل برنامه بکاهد. از‌آن‌جاکه این جداکننده‌های توسط تنظیمات پی‌اچ‌پی فعال‌سازی نمی‌شود، استفاده از این جداکننده‌ها توصیه نمی‌شود. هدف تمامی این جداکننده‌ها این است که کد پی‌اچ‌پی را از قسمت غیر-پی‌اج‌پی مانند اچ‌تی‌ام‌ال جدا کند.
qas: answers: text: کدهایی را  که در درون جداکننده‌های پی‌اچ‌پی قرار بگیرند
question: مفسر پی‌اچ‌پی تنها چه کدهایی را تفسیر می‌کند؟

answers: text: برای خروجی دادن متن یا متغیر
question: جداکنندهٔ کوتاه برای چه چیزی استفاده می‌شود؟

answers: text: تمامی نوشته‌هایی که در خارج از جداکننده‌های پی‌اچ‌پی قرار بگیرند
question: چه چیزهایی توسط مفسر تفسیر نشده و به عنوان خروجی ارسال خواهند شد؟

answers: text: جداکننده‌های کوتاه
question: استفاده از چه چیزی می‌تواند از قابلیت حمل برنامه بکاهد؟

answers: text: تنظیمات پی‌اچ‌پی
question: جداکننده‌های پی‌اچ‌پی توسط چه چیزی فعال‌سازی نمی‌شود؟

answers: text: کد پی‌اچ‌پی را از قسمت غیر-پی‌اج‌پی مانند اچ‌تی‌ام‌ال جدا کند.
question: هدف تمامی جداکننده‌های پی‌اچ‌پی چیست؟

question: ایده جدا کننده در پی‌اچ‌پی از چه کسی بود؟

question: پی‌اچ‌پی در چه سالی ارتقا یافت؟

context: در نسخهٔ ۵٫۲ و نسخه‌های قبل آن توابع دست اول نبوده و تنها به‌صورت مستقیم یا غیرمستقیم با نام‌شان قابل فراخوانی هستند. توابع پی‌اچ‌پی می‌توانند بدون نوشتن نمونه اولیه (Prototype) تعریف شوند. تعریف توابع می‌تواند در درون بلاک‌های شرطی قرار بگیرند تا در شرایط خاص تعریف شود. تمامی توابع پی‌اچ‌پی در هنگام فراخوانی در جلوی خود  باید پرانتز داشته‌باشند. متغیرهایی که با دستور new ساخته می‌شود، در صورتی که آرگومان نداشته‌باشد، از این قاعده مستثنی هست. پی‌اچ‌پی قابلیت تعریف توابع بدون نام را ندارد، اما می‌توان با قرار دادن نامِ یک تابع در متغیر تابع را به‌صورت غیرمستقیم فراخوانی کرد.
qas: answers: text: نسخهٔ ۵٫۲
question: در کدام نسخهٔ٫ و نسخه‌های قبل آن توابع دست اول نبوده؟

answers: text: تنها به‌صورت مستقیم یا غیرمستقیم با نام‌شان
question: در نسخهٔ ۵٫۲ و نسخه‌های قبل آن توابع چگونه قابل فراخوانی هستند؟

answers: text: بدون نوشتن نمونه اولیه
question: توابع پی‌اچ‌پی می‌توانند بدون چه چیزی تعریف شوند؟

answers: text: درون بلاک‌های شرطی
question: تعریف توابع می‌تواند درون چه چیزی قرار بگیرند تا در شرایط خاص تعریف شود؟

answers: text: پرانتز
question: تمامی توابع پی‌اچ‌پی در هنگام فراخوانی در جلوی خود باید چه چیزی داشته‌باشند؟

answers: text: تعریف توابع بدون نام
question: پی‌اچ‌پی قابلیت چه چیزی را ندارد؟

answers: text: قرار دادن نامِ یک تابع در متغیر
question: می‌توان با قرار دادن چه چیزی تابع را به‌صورت غیرمستقیم فراخوانی کرد؟

question: پی‌اچ‌پی چند نسخه دارد؟

question: آخرین نسخه پی‌اچ‌پی در چه سالی منتشر شد؟

context: پی اچ پی شامل کتابخانه های منبع باز و آزاد مختلفی در منبع توزیع خود می شود، یا از آن ها در برنامه های دودویی پی اچ پی استفاده می کند. پی اچ پی اساساً یک سامانه اینترنت فهم با ماژول های داخلی است که از طریق این ماژول ها به سرورهای FTP (پروتکل انتقال فایل) و بسیاری از سرورهای پایگاه داده از جمله PostgreSQL،MySQL،Microsoft SQL Server و SQLite (که یک پایگاه داده توکار است)، سرورهای LDAP و غیره. بسیاری از توابعی که برنامه نویسان زبان C با آن ها آشنایی دارند، مانند آن هایی که در خانواده stdio قرار دارند، در برنامه های استاندارد پی اچ پی قابل دسترسی هستند.
qas: answers: text: کتابخانه های منبع باز و آزاد مختلف
question: پی اچ پی شامل چه چیزهایی در منبع توزیع خود می شود؟

answers: text: یک سامانه اینترنت فهم با ماژول های داخلی
question: پی اچ پی اساساً چیست؟

answers: text: برنامه های استاندارد پی اچ پی
question: بسیاری از توابعی که برنامه نویسان زبان سی با آن ها آشنایی دارند در کجا قابل دسترسی هستند؟

question: یکی از مشهورترین برنامه نویسان آمریکا را نام ببرید؟

context: پی اچ پی به توسعه دهندگان این اجازه را می دهد تا با نوشتن افزونه هایی به زبان C، به زبان پی اچ پی کارایی لازم را ببخشند. افزونه های پی اچ پی می توانند به صورت ایستا در داخل پی اچ پی کامپایل شوند یا به صورت پویا در زمان اجرا بارگزاری شوند. افزونه های بی شماری نوشته شده اند تا از ویندوز اِی پی آی، فرآیند مدیریت در سیستم عامل های شبه یونیکس، رشته های چند بایتی (یونیکد)، cURL و چند قالب فشرده سازی محبوب پشتیبانی کنند. دیگر ویژگی های پی اچ پی که توسط افزونه ها در دسترس قرار گرفتند، شامل مجتمع سازی با IRC، تولید پویای تصاویر و محتوای ادوبی فلش، اشیاء داده پی اچ پی (PDO) که به عنوان یک لایه ظاهری برای دسترسی به پایگاه داده به کار می رود، و حتی ترکیب صدا می شود. بخشی از توابع هسته زبان، مانند آن هایی که با رشته ها و آرایه ها سروکار دارند، نیز به عنوان افزونه پیاده سازی شده اند. پروژه کتابخانه جامع افزونه های پی اچ پی (PECL) مخزنی برای افزونه های به زبان پی اچ پی است.
qas: answers: text: توسعه دهندگان
question: پی اچ پی به چه کسانی این اجازه را می دهد تا با نوشتن افزونه هایی به زبان سی، به زبان پی اچ پی کارایی لازم را ببخشند؟

answers: text: ایستا
question: افزونه های پی اچ پی می توانند به چه صورت در داخل پی اچ پی کامپایل شوند؟

answers: text: پویا
question: افزونه های پی اچ پی می توانند به چه صورت در زمان اجرا بارگزاری شوند؟

answers: text: افزونه های بی شمار
question: چه چیزهایی نوشته شده اند تا از ویندوز اِی پی آی، فرآیند مدیریت در سیستم عامل های شبه یونیکس، رشته های چند بایتی و چند قالب فشرده سازی محبوب پشتیبانی کنند؟

answers: text: افزونه
question: بخشی از توابع هسته زبان، مانند آن هایی که با رشته ها و آرایه ها سروکار دارند، نیز به عنوان چه چیزی پیاده سازی شده اند؟

question: سی پلاس پلاس در چه سالی منتشر شد؟

context: ۲۹٪ از مشکلات امنیتی که در ماه سپتامبر سال ۲۰۱۳ میلادی توسط پایگاه داده امنیتی ملی (National Vulnerability Database) منتشر شد، با زبان پی‌اچ‌پی مرتبط هست. این مسائل اکثراً به دلیل نبود استفاده از روش‌های مناسب توسط برنامه‌نویسان ایجاد می‌شود. و این در حالی‌است که مشکلات تکنیکی که در خود زبان پی‌اچ‌پی وجود دارند، بسیار کم هستند. (۲۳ مشکل در سال ۲۰۰۸، کمتر از ۱٪ مشکلات) با توجه به این‌که برنامه‌نویس‌ها اشتباهات بسیاری می‌کنند، بارها پیشنهاد شده‌است که قابلیت‌هایی برای تشخیص خطاهای امنیتی در زبان پی‌اچ‌پی گنجانده شود تا این خطاها را به برنامه‌نویس گزارش بدهد. با اینکه چنین ابزاری برای زبان پی‌اچ‌پی در حال توسعه است، اما این پیشنهادها تاکنون رد شده و این ابزارها به زبان افزوده نشده‌اند.
qas: answers: text: ماه سپتامبر سال ۲۰۱۳
question: ۲۹٪ از مشکلات امنیتی در چه تاریخی توسط پایگاه داده امنیتی ملی منتشر شد؟

answers: text: زبان پی‌اچ‌پی
question: ۲۹٪ از مشکلات امنیتی که در ماه سپتامبر سال ۲۰۱۳ میلادی توسط پایگاه داده امنیتی ملی منتشر شد با چه چیزی مرتبط هست؟

answers: text: نبود استفاده از روش‌های مناسب توسط برنامه‌نویسان
question: مشکلات امنیتی اکثراً به چه دلیل ایجاد می‌شود؟

answers: text: بسیار کم
question: مشکلات تکنیکی که در خود زبان پی‌اچ‌پی وجود دارند، چه مقداری هستند؟

answers: text: ۲۳ مشکل
question: مشکلات تکنیکی در پی اچ پی در سال 2008 چقدر بود؟

answers: text: کمتر از ۱٪
question: مشکلات تکنیکی در پی اچ پی در سال 2008 چند درصد بود؟

answers: text: برنامه‌نویس‌ها اشتباهات بسیاری می‌کنند
question: چرا بارها پیشنهاد شده‌است که قابلیت‌هایی برای تشخیص خطاهای امنیتی در زبان پی‌اچ‌پی گنجانده شود؟

question: چرا زبان پایتون بین برنامه نویسان محبوب است؟

question: اولین نفری که از زبان پایتون استفاده کرد چه کسی بود؟