در مطلب های پیشین در مورد آرایه ها و به ویژه معرفی برخی از آرایه های سراسری در پی اچ پی صحبت کردیم و توضیح دادیم که هر کدام چه کاربردی دارند. همچنین در مطلب کوکی ها در پی اچ پی نیز، آرایه COOKIE_$ را آموزش دادیم که در اداره کردن کوکی ها و بررسی و دسترسی به محتوای یک کوکی کاربرد دارد. همچنین توضیح دادیم که می توانیم وجود یا تنظیم شدن یا اعلان شدن یک متغیر، یک آرایه یا یک کلید از آرایه انجمنی را توسط تابع ()isset بررسی کنیم.

آرایه ها در PHP – ایجاد آرایه ها

آرایه ها در PHP – آرایه های سراسری

مفهوم کوکی ها و ایجاد آنها درون پی اچ پی

از آرایه سراسری SERVER_$ می توانیم داده ها و اطلاعات جامعی مانند هدرهای HTTP (یا HTTP Headers)، آدرس یا URI درخواست فعلی، نام و محل فایل اسکریپت و بسیاری دیگر از اطلاعات را بدست آوریم. توجه کنید سراسری بودن یک آرایه یا متغیر به این معنی است که می توانیم آنرا بیرون از فایل اسکریپت تعریفش و در هر اسکریپت دیگری استفاده کنیم. همچنین توجه کنید کل محتوای آرایه سراسری SERVER_$ توسط خود وب سرور ایجاد می شود و برنامه نویسی هیچ دخالتی در تعیین و مقدار دهی و تغییر محتوای آن ندارد.

۱ – پیدا کردن نام فایل اسکریپت جاری (فعلی – کنونی)

برای پیدا کردن نام فایل اسکریپت جاری باید مقدار کلید PHP_SELF را همانند کد زیر نشان دهیم. توجه کنید که آرایه COOKIE_$ یک آرایه انجمنی با کلیدهای از پیش تعیین شده توسط خود توسعه دهندگان پی اچ پی است که توسط وب سرور مقدار دهی می شوند. همچنین چون گفتیم آرایه سراسری است، پس در هر کدام از اسکریپت های برنامه خود می توانید کد زیر را اجرا کنید که قاعدتا نام و مسیر همان اسکریپت برگشت داده می شود.

۲ – پیدا کردن آدرس دامنه و شماره پورتی که سرور HTTP

از کلیدهای SERVER_NAME و HTTP_HOST می توانیم برای نمایش نام سرور و شماره پورت استفاده کنیم. توجه کنید که مقدار کلید SERVER_NAME تنها شامل آدرس سرور HTTP است ولی مقدار کلید HTTP_HOST به صورت IP_ADDR:PORT است که شامل آدرس و شماره پورت سرور HTTP می شود. چون اسکریپت را روی سرور محلی اجرا می کنیم، پس آدرس وب سرور برابر با 127.0.0.1 خواهد بود.

۳ – پیدا کردن آدرس بازدید کننده

برای اینکه بتوانیم آدرس کلاینتی که درخواست فرستاده است یا به عبارت دیگر از سایت در حال بازدید است، باید مقدار کلید REMOTE_ADDR را استفاده کنیم. توجه کنید که چون اسکریپت روی سرور محلی (Localhost) اجرا می شود، مقدار خروجی کلید REMOTE_ADDR برابر با 127.0.0.1 خواهد بود.

۴ – بدست آورن تاریخ و زمان درخواست

از کلید REQUEST_TIME می توانیم تاریخ و زمان درخواست فعلی (کنونی) را بدست آوریم. خروجی این کلید مقداری بر حسب مهر زمانی یونیکس (Unix Timestamp) است. مهر زمانی یونیکس، مانند عدد  تعداد ثاینه های گذشته از اول ژانویه سال ۱۹۷۰ تا به همین لحظه (نه تنها امروز بلکه همین لحظه) است. در کدهای زیر ابتدا مقدار کلید REQUEST_TIME نشان داده شده است و سپس توسط تابع ()gmdate مقدار کلید به فرمت تاریخ و زمان قابل خوانده شدن توسط کاربر (انسان) تبدیل شده است. این تابع به عنوان آرگومان اول یک فرمت یا الگوی نمایش تاریخ و زمان را گرفته و سپس پارامتر دوم که اینجا مقدار کلید REQUEST_TIME است را به فرمت پارامتر اول تبدیل می کند. همچنین در کدهای زیر و در دومین دستور echo همانطور که در مطلب های پیشین گفتیم، می توانیم برای نمایش مقدار یک متغیر یا آرایه درون رشته ایجاد شده توسط کاراکترهای ” “، نام متغیر را میان آکولادهای باز و بسته قرار دهیم.

۵ – بدست آوردن پروتکل درخواست

می خواهیم بدانیم آیا پروتکل درخواست از نوع پروتکل غیر امن HTTP یا از نوع پروتکل امن HTTPS است. برای این منظور باید ابتدا بررسی کنیم که کلیدی به نام HTTPS تنظیم شده است (وجود دارد)، پس برای این منظور در شرط if دستورهای زیر از تابع ()isset استفاده شده است سپس بررسی شده که آیا مقدار کلید HTTPS برابر با مقدار on  باشد. پس در صورتی پروتکل درخواست HTTPS است که هم کلید HTTPS توسط خود وب سرور، تنظیم شده باشد و هم اینکه مقدار آن برابر با رشته on باشد. در صورتی که این دو شرط برآورده نشوند، پس پروتکل HTTP خواهد بود.

۶ – پیدا کردن آدرس URI درخواست و نوع متد درخواست

برای پیدا کردن آدرس درخواست فعلی می توانیم از کلید REQUEST_URI استفاده کنیم. در واقع کلید REQUEST_URI آدرس صفحه ای که هم اکنون درخواست شده و در حال بازدید از آن هستیم را در خود دارد. در مطلب های پیشین در مورد Route های لاراول و وجود متدهایی مانند ()get و ()post در نوشتن یک Route توضیح داده ایم و گفتیم پروتکل HTTP دارای متدهای متفاوتی مانند GET و POST است که اجازه می دهد درخواست های کاربران به سایت و سرور فرستاده شوند. گاهی اوقات مانند بررسی درخواست های آمده از سمت فرم های اچ تی ام ال، لازم است نوع متد را بررسی کنیم. کلید REQUEST_METHOD نوع درخواست فعلی را در خود نگه می دارد.

در مطلب های پیش رو در مورد اداره کردن درخواست ها در خود پی اچ پی و همچنین در فریم ورک لاراول توضیح و آموزش کامل را داده ایم. همچنین چگونگی ایجاد کوکی ها در لاراول را نیز بررسی کرده ایم. باید بدانید که لازم است شما همزمان پی اچ پی را بدانید، زیرا درک بهتری از چگونگی عملکرد لاراول خواهید داشت. برای همین منظور حتی در ادامه مطلب ها چگونگی اتصال به پایگاه داده از طریق خود پی اچ پی و همچنین از طریق لاراول را گفته ایم تا هم دوره کاملی داشته باشیم و هم شما درک بهتری از پی اچ پی بدست آورید.