جلسه شانزدهم، آخرین جلسه از مباحث مقدماتی آموزش پی اچ پی (PHP) است. این جلسه شامل مباحث حل تمرین جلسه پیش، شرح عملکرد برخی از تگهای HTML بهصورت کاربردی که در مسئله داده شده است. علاوه بر آن به بیان مفهوم SCOPE در آموزش PHP نیز پرداخته و جمعبندی کاملی از این ۱۶ جلسه میشود.
سایت کدیاد بهواسطه رسالت آموزشی که دارد، سعی کرده در طول این مدت آموزش پی اچ پی رایگان را در اختیار علاقهمندان بهحوزة برنامهنویسی و کدزنی قرار داده و از خبرهترین و با سابقهترین اساتید دورههای آموزش نرمافزاری استفاده کند. امیدواریم شما که تا این جلسه همراه ما بودهاید نیز به خوبی از مطالب بهره برده باشید. برای تکمیل دوره مقدماتی آموزش پی اچ پی به زبان ساده، در ادامه ما را همراهی کنید.
اهمیت دستورات HTML در برنامهنویسی PHP
زبانهای برنامهنویسی تحت وب مانند آموزش پی اچ پی (PHP)، علاوه بر syntaxهای مخصوص بهخود، میتواند با سایر برنامههای زیرمجموعه وب نیز ارتباط برقرار کرده و از دستورالعملهای مشترکی استفاده کنند. بهکارگیری دستورات html در این نمونه برنامهها بسیار کاربردی بوده و تأثیر بهسزایی در خوانایی، اجرا و نتیجه عملکرد کاربر میگذارد.
این چنین توانایی صرفاً با افزایش دانش کدنویسی امکان پذیر شده و ضرورت ارتقاء گسترة علم و تجربه برنامهنویس را میطلبد. در واقع دنیای برنامهنویسان یک جهان پویای همیشه در حال تغییر است که میبایست هر ساله با دانش روز، آپدیت شود. صبر، دقت، پشتکار، ممارست و تمرین از خصوصیات محرز هر برنامهنویس موفق دراین عرصه است.
حل تمرین جلسه آموزشی ۱۵
صورت تمرین جلسه پانزدهم آموزش PHP مقدماتی
در ابتدا با بازکردن محیط کدنویسی VISUAL STUDIO بهسراغ کدهای مورد نیازمان برای نوشتن تمرینی در راستای آموزش پی اچ پی میرویم. از مدل و چینش عبارات بهخوبی متوجه میشویم که باید از حلقههای تکرار در کدنویسی استفاده کرد. این نمونه شامل تعداد محدودی داده است اما در پروژة اصلی نیز دیتاهای ارسالی محدود هستند؟
مسلماً خیر! بههمین علت ورود دانه به دانه اطلاعات و ارسال دیتا به خروجی منطقی نبوده و باید فکری اساسی برای آنها کرد. در این جلسه از آموزش پی اچ پی (PHP) به برنامهنویس اینگونه یاد داده میشود که در ابتدا آرایهها را دستی وارد کرده و سپس دستور echo را بهشکل تک فرمان نمایش میدهیم. مانند:
$myf=array(array(“ali”,22,180),
array(“mahsa”,20,160),
array(“mmd”,21,170),
array(“nima”,15,170)) ;
echo $myf[0][0];
خروجی :
Ali
بهخوبی میبینیم که این کار نشدنی است. پس بهدنبال جایگزین کردن دستوری بهتر بهنام حلقه for رفته و سعی میکنیم در ادامه از تگهای html به شکل کاربردیتری استفاده کنیم.
کاربری انواع تگهای html در برنامهنویسی php
در ادامه مثال گفته شده نیاز به استفاده از انواع تگهای html وجود دارد. این تگها در خوانایی و زیبایی نتیجه چاپ شده در خروجیها بسیار مؤثر هستند.
$myf=array (array(“ali”,22,180),
array(“mahsa”,20,160),
array(“mmd”,21,170),
array(“nima”,15,170)) ;
for ($row=0, row<4 , row++)
حلقه for در اینجا به تعداد ردیفهای موجود در آرایه نمایش داده شده اشاره کرده و تا سه ردیف این مقدار را میچرخاند. از آنجاییکه آرایهها از صفر شروع میشوند، پس متغیر $row تا کمتر از عدد 4 را نمایش میدهد.
حال در ادامة این جلسه دوره آموزش برنامه نویسی PHPبه استفاده از تگهای <p> و <b> نیاز داریم.
echo “<p><b> ROW friends $row </b></p>” ;
در تگهای <P> و </P> عبارت را به صورت پاراگراف و با تگ <b> و </b> به صورت بولد نمایش میدهیم.
خروجی ردیفهای حلقه سطری نمایشداده شده در تمرین
برای نمایش عبارت ROW friends بههمراه شمارش تعداد آنها نیازمند ثبت عبارات بههمراه متغیر $row هستیم. در این حالت وقتی دادهها به خروجی ارسال میشوند بهخوبی اندیسها را نمایش میدهند.
تفاوت میان quotation و double quotation در php
در این قسمت لازم است فرق میان ‘ ‘ quotation و “ “ double quotation را با یکدیگر بررسی کنیم. بهخصوص که در چاپ نتیجه بسیار تآثیرگذار است. اگر عبارت داخل دستور ارسالی بهخروجی را داخل ‘ ‘ قرار دهیم متغیر $row تعریف شده را نوعی استرینگ برداشت کرده و دیگر با عنوان عدد یا همان digit نمیشناسد.
ROW friends $row
اما اگر عبارت داخل دستور echo را داخل “ ” قرار دهیم، کل عبارت را با توجه به عدد ارسالی از حلقه for شمرده و ثبت میکند مانند خروجی عبارت:
ROW friends 0
تعریف مفهوم شاخه و زیر شاخه در آموزش پی اچ پی (PHP)
حال برای اینکه دستور نوشته شده بتواند خاصیت شاخه و زیرشاخه تمرین خواسته شده را پیادهسازی کند، لازم است از یک دستور تگ <ul> و حلقة ثانویه نیز استفاده کرد. در آموزش پی اچ پی (PHP) جلسه شانزدهم یادآور میشویم که پیش از تعریف حلقه دوم فراموش نکنید که ابتدا این تگ را تعریف کرده و از اسمبل بخواهید صرفاً دستور فوق را باز کند.
$myf=array (array(“ali”,22,180),
array(“mahsa”,20,160),
array(“mmd”,21,170),
array(“nima”,15,170)) ;
for ($row=0, row<4 , row++)
echo “<p><b> ROW friends $row </b></p>” ;
echo”<ul>” ;
در این حالت عبارت خروجی را بهصورت شاخه و زیرشاخههای زیرین نمایش میدهد. اگر بهتمرین خوب دقت کنید، خواهید دید عبارات حالات شاخه و زیرشاخه داشته و از خواص زیرمجموعهای استفاده میکنند.
نمایش تفکیک حلقههای تکرار سطر و ستون
مفهوم حلقههای تو در تو در آموزش پی اچ پی (PHP)
در ادامه حل تمرین آموزش PHP، برای تعریف عبارات هر ردیف و زیر مجموعههای آن نیازمند حلقه تعریف متغیر ستونی هستیم. در واقع علاوه بر row، به متغیر دیگری با نام col هم نیاز داریم تا بتوانیم چینش عبارات خروجی را طبق تمرین خواسته شده انجام دهیم. مفهوم ردیف و ستون در برنامهنویسی آموزش پی اچ پی به زبان ساده بدین صورت است که نتایج در خروجی بهشکلی مختصاتی ارسال شده و نیازمند تعریف بهصورت مجزا در قالب متغیرهای مخصوص بهخود هستند.
در صورتیکه برنامهنویس اقدام به تعریف دو حلقه جهت شناسایی و جایگذاری متغیرهای مورد نیاز نماید، لازم است متغیرهای از اندیکس 0 شروع شده و با تعریف استاندارد جلو برود. بهعبارت بهتر این خط از برنامهنویسی تمرین گفته شده و از [0][0] شروع شوند.
echo $myf[$row][$col];
پس در ادامه به تعریف حلقه ثانویه ستونها میپردازیم. به دلیل آنکه در ستونها از سه متغیر نام، سن و قد استفاده کردیم، پس شمارش تعداد ستون تا عدد کوچکتر از 3 باقی مانده و از صفر تا 2 را شامل میشود.
For ($col=0 , $col<3 , $col++)
برای ادامه کدنویسی کافیاست سطر و ستونهای تعریف شده را با دستور echo بهخروجی ارسال کرده و چینش آنها را استفاده از دو تگ <li> و <ul> تنظیم کنید. در تگ <li> شما به سیستم پیغام میدهید تا عبارات را بهصورت مرتب در زیر هم، بولتدار و بهشکل ستونی قرار دهد. با تگ <ul> دستور شاخه و زیرشاخه بودن را ارسال میکنید. بهعبارت بهتر کدنویسی تمرین آموزش پی اچ پی (PHP) شما اینگونه بهاتمام میرسد:
پاسخ تمرین جلسه پانزدهم
تفاوت میان نتیجه ارسالی تگهای <br> و <li>
توجه به این نکته حائز اهمیت است که تفاوت در نتیجه ارسالی بین دو تگ <br> و <li>، در این است که تگ <br> عبارات را به صورت ساده و بدون بولت قرار میدهد اما <li> علاوه بر چینش ستونی مانند <br>، بولت هم قرار میدهد. افزون بر آن اگر برنامهنویس مایل به چینش زیرمجموعه بهصورت دستهبندی عددی باشد میتواند بهجای تگ <ul> از تگ <ol> استفاده کرده و عبارات خروجی را به شکل زیر مشاهده کند:
ROW friends 0
ali
22
180
ROW friends 1
Mahsa
20
160
ROW friends 2
Mmd
21
170
بدین ترتیب دیدیم که تمرین جلسه پیش آموزش پی اچ پی رایگان، بهصورت آسان و با کمی دقت قابل پیادهسازی بود. پیشنهاد میکنیم از همین تمرین با اشکال مختلف و با دیدگاههای متفاوتی برای خود چالش ایجاد کرده و تغییرات ممکن را بر روی آن بدهید. حسن این کار آن است که افزون بر بهتر شدن مهارت برنامه نویسی شما، ترس از دیدن خطاها نیز کاسته شده و تسلط بیشتری به رفع آنها پیدا خواهید کرد. برنامهنویسی افزون بر دانش، بهنوعی مهارت و تجربه نیز محسوب میشود.
آشنایی با مفهوم Scope در زبان برنامهنویسی PHP
در این مرحله از آموزش پی اچ پی (PHP) نیاز است تا با مفهوم Scope در انواع زبانهای برنامهنویسی آشنا شده و طریقه صحیح بهکاربردن آن را یاد بگیریم. اسکوپها شامل سه نوع هستند که در ادامه با انواع آن بهنامهای گلوبال، لوکال و استاتیک آشنا خواهید شد. از آنجاییکه کلمه Scope به معنی قلمرو، دامنه و محدوده است، بهنوعی متغیر اشاره کرده که در حوزة تعریف شده خود دارای مفهومی شناخته شده است. در آموزش پی اچ پی از مفهوم scope برای بالا بردن و ارتقاء ارزش کاربری متغیر استفاده شده و میتوان قابلیتهای مختلفی را از پارامترهای موجود دریافت کرد.
مفهوم Scope در افزایش کارایی پارامترهای لوکال و گلوبال
طبق آموزش پی اچ پی (PHP) هر متغیر دارای این تعریف، خارج از محدودة اسکوپ خود، معنای خارجیای نداشته و تنها در حوزه مربوطه به رسمیت شناخته میشود. مانند اختیاراتی که اعضای یک خانواده در قبال تجهیزات زندگی خود دارند و اجازه دسترسی به سایر افراد حتی همسایهها را هم نمیدهند.
اسکوپ به صورت پیشفرض مخصوص متغیری است که داخل اسکریپت مورد نظر نوشته شده و از آن استفاده میشود. مفهوم قلمرو اسکوپی در مورد پارامترهای داخل متدها نیز مصداق داشته و صرفاً در داخل همان متد نیز کاربرد دارد. در هیچکجا خارج از متد یا اسکریپت تعریف شده، پارامتر مربوطه معنای مستقل و خارجیای ندارد.
در واقع توجه به این نکته ضروری است که میان متغیر و مقدار اختصاص یافته یا همان value ریخته شده در متغیر، تفاوت وجود دارد. در دوره آموزش برنامه نویسی PHPجلسات پیشین، متدها را با استفاده از مقادیر نوشته و داخل متغیر ذخیره میکردیم؛ اما اکنون میخواهیم از خود متغیر در چارچوب تعریف شده بهره ببریم. پس نیازمند تعریف حوزة مشخصی هستیم. در ادامه بهعنوان اولین قدم برای ورود به مبحث Scope با تعریف global و local آشنا میشویم.
تعریف متغیرهای global و local در مفهوم Scope
گلوبال صفتی است که به متغیرهای عمومی اطلاق میشود. هرگاه متغیری خاصیت کاربری خودرا در خارج از متد حفظ کرده باشد، گلوبال نام میگیرد. در واقع گلوبالیته یا جهانی مختص پارامترهایی است که برای افزایش کارایی متغیر استفاده میشود و میتوان آن را با نام متغیر سراسری نیز شناخت. در هر کجای برنامه از این مدل متغیرها استفاده شود، مقادیری شناخته شده بوده و نیاز به تعریف مجدد ندارند.
تعریف متغیر گلوبال global و local در برنامهنویسی php
در آموزش پی اچ پی (PHP) متوجه شدیم که متغیر گلوبال بهصورتی تعریف میکنند که در همه جای پروگرمها اعم از داخل متدها، فانکشنها و پروسجرها قابل دسترسی بوده و بر مقادیر آنها بتوان تغییراتی ایجاد کرد. برای آنکه نحوه عملکرد دستور را در پروژه نمایش دهیم، کافیست یکبار کدهای بالا را پیادهسازی کرده و بر تفاوت دو متغیر محلی و جهانی تسلط پیدا کنید.
در دیتای گلوبال متغیر تعریف شده با نام $number، تابع mytest() در همهجای برنامه این مقدار 20 را میشناسد. در واقع یکبار متغیر تعریف شده و در سایر قسمتهای کدنویسی و برحسب نیاز مورد استفاده قرار میگیرد. اگر به این پارامتر برای ارسال مقادیر نیاز داشته باشید، لازم است داخل تابع مربوطه نیز وارد کنید. اما در قسمت بعدی خواهید دید که متغیر $number داخل تابع تعریف شده و صرفاً در داخل همان تابع نیز کاربرد دارد.
این نوع متغیر مسئولیت محدودی داشته و مقدار آن خارج از آن حوزه قابل شناسایی نیست. چنین متغیری را local یا محلی مینامند. توجه به این نکته ضروری است که آرایههایی مانند GET، SESSION و POST نیازی به تعریف متغیر از نوع گلوبال نداشته و در کلیه توابع و متدها قابل صدازنی و شناسایی هستند. پس به نکات خاص و استثناء آن باید توجه کرد.
تعریفScope Static و کارایی آن در تعریف پارامترها
طبق آموزش پی اچ پی (PHP) پارامترها قابلیت تعریف در تمامی قسمتهای برنامه را دارند. در مقابل مفهوم scope قسمتی از کد تعریف شده است که موجب استفاده بهتر و دسترسی بیشتر از همین پارامترها میشود. گفتیم که اسکوپ به سه شکل تعریف میشود. دو نمونه لوکال و گلوبال آن توضیح داده شده و در ادامه به تعریف نوع آخر یا سوم آن با نام استاتیک میرویم.
انواع متغیرهای مفهوم Scope در برنامهنویسی PHP
در صورتیکه بخواهید متغیرهای دارای اسکوپ Static را بشناسید، به این مثال توجه کنید:
Function mytest() { //static
Static $number=20;
echo “$number <br>” ;
$number++;
}
mytest();
mytest();
mytest();
mytest();
در این مثال از سلسله جلسات آموزش پی اچ پی (PHP)، بهخوبی میبینیم که اگر مفهوم static پیش از متغیر $number استفاده نشود، برنامه قادر به حفظ مقدار نبوده و در خروجی دچار خطا میشود. در واقع تابع افزایش مقادیر را نشناخته و صرفاً mytest(); را در حالت اولیه خود صدازنی میکند. اما با افزودن مفهوم scope static این متغیر قادر به نگهداری مقادیر درون خود خواهد شده و پس از هربار صدا زدن، یکبار به داده درونی خود میافزاید.
خروجی:
20
21
22
23
جمعبندی
در آموزش پی اچ پی (PHP) مقدماتی، با مفاهیم اولیه برنامه نویسی با این زبان تحت وب آشنا شده و قدم به قدم آنها را پیادهسازی کردیم. اصول اولیه، انواع پارامترها، آرایهها و توابع را شناخته و با جزئیات بیشتری روبهرو شدیم. کلیه مثالهای بهکار رفته در این جلسات از سایت اصلی www.php.net اقتباس گردیده و دارای مرجعی معتبر هستند.
از جلسه آینده سعی خواهیم کرد وارد مباحث پیشرفتهتری شده و اطلاعات و آموزشهای خود را به سطحی بالاتر ارتقاء دهیم. خوشحال خواهیم شد همچنان با سایت آموزشی کدیاد همراه بوده و ما را به سایر دوستان و علاقهمندان به برنامهنویسی معرفی کنید.
قسمت قبلی آموزش رایگان php :
چگونگی نمایش مختصات آرایه سه بعدی
قسمت بعدی آموزش رایگان php
یا جهت مشاهده ویدیوهای اموزشی آموزش رایگان پی اچ پی وارد این صفحه شوید.