صفحه شخصی مجید ابراهیمی

گزارش هفته سوم کارآموزی

 

1.    مقدمه

2.    ساختارهای تصمیم گیری

     1-2 دستور if
     2-2 دستور else if
     3-2 دستور switch

3.    ساختارهای تکرار

     1-3 دستور while
     2-3 دستور do while
     3-3 دستور for
     4-3 دستور break
     5-3 دستور continue
     6-3 دستور exit

4.    به کارگیری آرایه

     1-4 آرایه هایی با اندیس عددی
     2-4 آرایه های انجمنی
     3-4 مرتب سازی آرایه ها
     4-4 آرایه های چند بعدی

           5.    استفاده مجدد از کد

                1-5 استفاده از توابع
                2-5 ضمیمه کردن فایل ها به برنامه

 

 

 

 

 

 

 

 

 

 

1- مقدمه


در هفته دوم کارآموزی با مقدمات زبان PHPآشنا شدم . هدف من در این هفته از کارآموزی یادگیری مطالبی در مورد ساختارهای کنترلی و آرایه ها و سازمان دهی برنامه هاست.

 

2- ساختارهای تصمیم گیری

مطالبی که من در مورد ساختارهای تصمیم گیری یاد گرفتم به شرح زیر است :

ساختارهای تصمیم گیری،تعدادی از دستورات هستند که شزطی را تست می کنند و در صورت برقرار بودن شرط،مجموعه ای از دستورات را اجرا می کنند،وگرنه مجموعه دیگری از دستورات را اجرا می کنند. بنابراین ، ساختارهای تصمیم گیری می توانند جریان اجرای برنامه را تغییر دهند.
ساختارهای تصمیم گیری در زبان
PHPعبارتند از :

دستورات if ، else if و switch

 

2-1 دستور if

برای پردازش داده هایی که در فرم های وب وارد می کنیم ، نیاز به تصمیم گیری داریم و یکی از دستوراتی که تصمیم گیری را ممکن می سازد ، دستورif است .

دو روش که من برای بکارگیری دستور if 
یاد گرفتم عبارتند از :

روش اول :

                                                                                                                                              (شرط)if
{

   ;               دستور 1   
...       

 ;دستور n                                       

}

روش دوم :

 

(شرط)if
{

   ;               دستور 1   
...       

 ;دستور n    

}

else

{

 ;دستور e1

...

 ;دستور en

}

اگر در در روش اول و دوم تعداد دستورات بیشتر از یکی نباشد نیاز به استفاده از }و {نیست .

 

2-2 دستور else if

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


 

3-2 دستور switch

در مورد دستور switch من مطالب زیر را یاد گرفتم :

 

اگر شرطی دارای دو مقدار باشد ، برای تصمیم گیری بر اساس نتیجه آن شرط ، از دستور if استفاده می کنیم ، اما اگر شرط بیش از دو مقدار داشته باشد ، از دستور switchاستفاده می کنیم.

در دستور if شرط می تواند ارزش true یا false داشته باشد ، اما در دستور switch، شرط می تواند هر مقداری داشته باشد .

 

کاربرد دستور switch بصورت زیر است :

Switch(variable)

{

; مقدار 1   case  

   …  

       break ;   

 ; مقدار 2   case

      break ; 

.

.

.

default ;

…  

  break ;

 

در این دستور اگر مقدار variable برابر با مقدار 1باشد ، دستورات مربوط به آن اجرا می شوند و دستور break موجب خروج از ساختار switch می شود. اگر برابر با مقدار 2 باشد ، دستورات مربوط به آن اجرا شده و دستور break موجب خروج از ساختار switch می شود. اگر هیچ کدام از مقادیر ذکر شده درست نباشد ، دستورات بعد از defaultاجرا می شوند.

چنانچه دستور switch فاقد default باشد و مقدار variable با هیچ یک از مقادیر 1 و2 و غیره برابر نباشد ، هیچ دستوری در ساختار switchاجرا نمیگردد.

 


 

3- ساختارهای تکرار

من در مورد ساختارهای تکرارمطالب زیر را یاد گرفتم :

بسیاری از کارها هستند که ماهیت تکراری دارند و برای پیاده سازی آن ها به ساختارهای تکرار نیاز داریم .

در زبان PHPسه نوع ساختار تکرار داریم که عبارتند از :

دستور while، do whileو دستور for

 

 

 

1-3 دستور while

مطالبی که من در مورد دستور while یاد گرفتم به شرح زیر است :

این دستور ساده ترین ساختار تکرار در زبان PHPاست. معمولا در مواردی به کار می رود که تعداد دفعات اجرای حلقه از قبل مشخص نیست.

 

کاربرد این دستور بصورت زیر است :

(شرط) while

{

 ;دستور 1   

         …

دستور n  

}

 

در این دستور ابتدا شرط جلوی دستور while بررسی می شود.اگر شرط درست باشد دستورات داخلی ساختار while اجرا می شود و دوباره کنترل اجرای برنامه به ابتدای حلقه بر می گردد و این روند ادامه می یابد. اگر شرط نادرست باشد ، کنترل اجرای برنامه از حلقه خارج می شود.

نکته مهمی که من در مورد دستور while یاد گرفتم این است که شرط حلقه باید در بدنه حلقه نقض گردد تا حلقه خاتمه یابد در غیر اینصورت حلقه بی نهایت ایجاد می شود.

 


2-3 دستور do while

مطالبی که من در مورد دستور do while یاد گرفتم به شرح زیر است :

این دستور مشابه دستور while است ، با این تفاوت که در while شرط حلقه در ابتدای حلقه بررسی می شود ، در حالی که در do while شرط حلقه در انتها تست می شود. یعنی اینکه اگر در ساختار do while، شرط حلقه اصلا درست نباشد ، دستورات داخل حلقه یک بار اجرا می شوند.

 

کاربرد این دستور بصورت زیر است :  

do

{

 ;دستور 1   

         …

دستور n  

 ;(شرط) } while

 

وقتی کنترل اجرای برنامه به doرسید ، وارد حلقه می شود و دستورات داخل حلقه اجرا می شوند. سپس شرط موجود در while بررسی می گردد. اگر این شرط درست باشد ، کنترل اجرای برنامه به ابتدای حلقه می رود و دستورات حلقه بار دیگر اجرا می شوند وگرنه کنترل اجرای برنامه از حلقه خارج می شود.

 

 

3-3 دستور for

مطالبی که من در مورد دستور for  یاد گرفتم به شرح زیر است :

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

 

          کاربرد این دستور بصورت زیر است :    

(گام افزایش ;شرط حلقه;مقدار اولیه شمارنده حلقه) for

{

                                                                                                                                                 ;دستورات                                                             

}        


4-3 دستور break

 

این دستور برای خروج از حلقه تکرار بکار می رود. اگر تحت شرایطی بخواهیم از حلقه خارج شویم ، از این دستور استفاده می کنیم . همانطور که در دستور switchدیدیم ، دستور breakبرای خروج از switchبکار می رود .

 
5-3 دستور
continue

 

وقتی این دستور را در داخل حلقه تکرار بکار گیریم ، کنترل اجرای برنامه به ابتدای حلقه منتقل می گردد. شرط حلقه دوباره تست می شود ، در صورت درست بودن ، اجرای دستورات حلقه ادامه می یابد وگرنه کنترل اجرا از حلقه خارج می گردد.


6-3 دستور exit

 

اجرای این دستور موجب خاتمه اجرای برنامه PHP می شود. بعنوان مثال در صورت بروز خطا یا اشکالات احتمالی ، استفاده از این دستور مناسب به نظر می رسد .



 

4- به کارگیری آرایه

مطالبی که من در مورد بکارگیری آرایه ها یاد گرفتم به شرح زیر است :


تاکنون برای ذخیره داده ها از متغیر استفاده می کردیم که فقط یک مقدار را ذخیره میکرد. اما آرایه دنباله ای از مقادیر را در خودش ذخیره می کند. هر آرایه دارای چند عنصر است که هر عنصر می تواند حاوی مقداری مثل عدد یا متن یا آرایه دیگری باشد.

آرایه ها در PHP به دو دسته تقسیم می شوند :

 

الف- آرایه هایی با اندیس عددی

ب- آرایه های انجمنی

آرایه هایی با اندیس عددی آن هایی هستند که برای دستیابی به عناصر آن ها از یک اندیس عددی استفاده می شود ، در حالی که در آرایه های انجمنی ، اندیس دستیابی به عنصر آرایه می تواند غیرعددی باشد.

 

 

1-4 آرایه هایی با اندیس عددی

در اغلب زبان ها مثل C، C++و Java برای دستیابی به عناصر آرایه از یک اندیس عددی استفاده می شود. در زبان PHP نیز می توان از این نوع آرایه استفاده کرد. اولین اندیس آرایه در PHP صفر است.

 

برای ایجاد چنین آرایه ای بصورت زیر عمل می کنیم :

$x = array (5,10,4);

مقدارهای 5 ،10 ،4 به ترتیب در آرایه x$ قرار می گیرند.

نکته مهمی که من یاد گرفتم این است که باید برای تعریف آرایه از واژه arrayاستفاده کنیم.

با دستور انتساب نیز می توان به عناصر آرایه مقدار داد :

$x[0] = 25;

$x[1] = 30;

 

اگر بخواهیم ضمن ایجاد آرایه ، بازه ای از اعداد را در عناصر آن قرار دهیم ، از واژه range استفاده می کنیم :

 

$y = range(10,15);

 

این دستور در PHP، آرایه ای به نام y$ را ایجاد می کند که 6 عنصر دارد و محتویات عناصر آن اعداد 10 تا 15 می باشد.

نکته دیگری که من در مورد آرایه های عددی یاد گرفتم این است که می توان اندیس آرایه را از عددی غیر از صفر شروع کرد و برای این کار بصورت زیر عمل می کنیم :

$x [1 => 5,10,15];

در این دستور آرایه ای ایجاد می شود که اندیس عناصر آن از یک شروع می شود.

 


2-4 آرایه های انجمنی

در آرایه هایی با اندیس عددی ، اندیس هر عنصر آرایه با یک عدد ترتیبی مشخص می شود. در PHPآرایه ای به نام آرایه انجمنی وجود دارد که در آن می توان به هر مقداری ، یک اندیس یا کلید را نسبت داد.

مثال :

$grade = array(‘Ahmad’ => 15 , ‘Ali’ => 17 , ‘Reza’ => 14);

 

این آرایه که نامش $gradeاست دارای سه عنصر است. کلید عنصر اول Ahmad، کلید عنصر دوم Aliو کلید عنصر سوم Rezaاست. مقدار عنصر اول 15 ، مقدار عنصر دوم 17 و مقدار عنصر سوم  14 است. به عبارت دیگر ، نمرات سه دانشجو در آرایه قرار گرفته اند که کلید آن ها ، نام دانشجویان است.

برای دستیابی به عناصر آرایه انجمنی می توان از دستور foreachیا ساختارهای list()، each()یا reset()استفاده کرد.

 

 


3-4 مرتب سازی آرایه ها

مرتب سازی ، یکی از اعمال متداول در آرایه ها است. در مرتب سازی آرایه ها ، عناصر آرایه چه بصورت رشته ای یا عددی باشند ، دارای ترتیب خاصی هستند.

 

            تابع sort()یکی از متداول ترین توابع برای مرتب سازی آرایه ها است. کاربرد آن بصورت زیر است :

(نام آرایه) sort

           یک نکته مهم که در مورد تابع sortیاد گرفتم این است که این تابع نسبت به حروف بزرگ و کوچک حساس است.

 

توابع ()asort و ()ksort برای مرتب سازی آرایه های انجمنی بکار می روند. تابع ()asort برای مرتب سازی مقادیر آرایه انجمنی و تابع ()ksort برای مرتب سازی کلیدهای آرایه انجمنی به کار می روند.

 

من یاد گرفتم که سه تابع sort()و asort()و ksort()برای مرتب سازی آرایه ها بطور صعودی بکار می روند. برای مرتب سازی آرایه بطور معکوس ، یعنی بصورت نزولی از سه تابع rsort()و arsort()و krsort()استفاده می کنیم.


          4-4 آرایه های چند بعدی

 

آرایه هایی که تاکنون مورد استفاده قرار گرفتند ، یک بعدی نام دارند ، چون برای دستیابی به مقادیر آن ها از یک اندیس استفاده شده است. اما آرایه هایی هستند که هر عنصر آن می تواند آرایه دیگری باشد و به این ترتیب آرایه ای از آرایه ها بوجود می آید. این نوع آرایه ها را چند بعدی می گویند.

یکی از متداول ترین آرایه های چند بعدی ، آرایه دو بعدی است که به نام ماتریس نیز خوانده می شود.

آرایه دو بعدی دارای تعدادی سطر و ستون است.

 

برای ایجاد چنین آرایه ای از دستور زیر استفاده می کنیم :

$x = array (array(10,20,30);

                    array(15,25,35);

                    array(40,50,60));

 

یکی از روشهایی که من برای دستیابی به عناصر این نوع آرایه یاد گرفتم استفاده از forهای تو در تو است :

for ($row = 0 ; $row<2 ; $row++)

{

   for ($col =0 ; $col<2 ; $col++)

    {

     echo ‘,’. $x[$row][ $col];

    }

echo ‘<br>’;

}

 

 

5- استفاده مجدد از کد

مطالبی که من در مورد استفاده مجدد از کدها یاد گرفتم به شرح زیر است :

 

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

استفاده مجدد از کد دارای مزیت هایی است که عبارتند از :

 

کاهش هزینه ، افزایش قابلیت اعتماد ، سازگاری

 

برای استفاده مجدد از کدها دو روش وجود دارد که عبارتند از :

 

الف- استفاده از توابع

ب- ضمیمه کردن فایل ها به برنامه

 

 

1-5 استفاده از توابع

 

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

 

هر تابع دارای دو جنبه است :

 

الف- جنبه تعریف تابع : این جنبه ، دستورالعمل هایی است که عملکرد تابع را مشخص می کند.

ب- جنبه فراخوانی تابع : این جنبه دستوری است که تابع را اجرا می کند و آن را دستور فراخوانی تابع گویند.

 

بطور کلی ، هر تابع می تواند مقادیری را بعنوان آرگومان بپذیرد ، بر روی آن ها محاسباتی انجام دهد و نتیجه را برگرداند. تابع مقادیر آرگومان ها را در متغیرهای دیگری به نام پارامترها قرار می دهد که در داخل تابع مورد استفاده قرار می گیرند.

 

شکل کلی تعریف تابع :

(اسامی پارامترها) نام تابع function

{

             ;دستورات تابع

  Return ;

}

 

همانطور که دیدیم ، تعریف تابع با واژه functionشروع می شود. نام تابع ازقانون نامگذاری برای متغیرها پیروی می کند ، ولی در ابتدای آن علامت $قرار نمی گیرد. اسامی پارامترها نیز از قانون نام گذاری متغرها پیروی می کند و با کاما از هم جدا می شوند. دستورات تابع مشخص می کند تابع چه عملی باید انجام دهد. آخرین دستور هر تابع ، returnاست که به تابع خاتمه می دهد.

 

فراخوانی تابع :

 

همانطور که گفته شد ، فراخوانی تابع ، دستوری است که تابع را اجرا می کند. بعنوان مثال برای فراخوانی تابع taxکه در ادامه تعریف می کنیم بصورت زیر عمل می کنیم :

function tax($x);

{

  $x = $x – (($x/100)*20);

  Return $x ;

}

فراخوانی تابع tax():

$x = 1600;

$test = tax($x);

echo $test;

 

من یاد گرفتم که آرگومان ها به دو طریق به تابع ارسال می شوند که عبارتند از :

 

الف- فراخوانی با مقدار

ب- فراخوانی با ارجاع

 

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

 

من یاد گرفتم که در زبان PHPچهار نوع حوزه برای متغیرها وجود دارد که عبارتند از :

 

الف- متغیرهای محلی : متغیرهای محلی آن هایی هستند که در داخل تابع تعریف می شوند و حوزه آن ها در داخل تابع است. طول عمر این متغیرها با شروع تابع آغاز می شود و با خاتمه تابع ، تمام می شود.

 

ب- متغیرهای عمومی : متغیرهای عمومی آن هایی هستندکه در خارج از تابع تعریف می شوند و در سراسر برنامه ، به جز در داخل توابع قابل استفاده اند. طول عمر این متغیرها به اندازه طول عمر صفحه وب است ، یعنی با تولید صفحه ، این متغیرها بوجود می آیند و با از بین رفتن این صفحه ، از بین می روند.

 

ج- متغیرهای عمومی که در داخل تابع با واژه globalمشخص می شوند : فرض کنید یک متغیر عمومی به نام $xو یک تابع به نام sample()دارید. در حالت عادی نمی توانید از متغیر عمومی $Xدر داخل تابع sample()استفاده کنید. اما اگر متغیر $xرا در داخل تابع sample()با واژه globalمعرفی کنید ، در آن تابع قابل استفاده است.

 

د- متغیرهای فراعمومی : این متغیرها از قبل تعریف شده اند و در هر نقطه ای از برنامه ، حتی در داخل توابع نیز قابل استفاده اند.

لیست کامل متغیرهای فراعمومی در زیر آورده شده است :

$_GLOBALS

$_SERVER

$_GET

$_POST

$_COOKIE

$_FILES

$_ENV

$_REQUEST

$_SESSION  


2-5 ضمیمه کردن فایل ها به برنامه

 

ضمیمه کردن فایل ها به برنامه یکی از امکانات مهم زبان PHPاست که منجر به سازمان دهی به برنامه شده و به شدت در کوتاه کردن طول برنامه های پیاده سازی صفحات وب موثر است.

ممکن است ما بخواهیم یک فایل متنی یا هر نوع فایل دیگری را در ده ها مکان از وب سایتمان استفاده کنیم. برای این منظور ، می توانیم از امکاناتی که در PHPاست ، آن فایل را در نقطه دلخواهمان ضمیمه کنیم.

برای این کار می توانیم از دو دستور ;(,مشخصات فایل,)require یا ;(,مشخصات فایل,)include استفاده کنیم.

 

کاربرد ضمیمه کردن فایل ها به برنامه :

 

یکی از متداول ترین کاربردهای ضمیمه کردن فایل ها به برنامه که من یاد گرفتم ، استفاده از آن برای سرصفحه و پاصفحه مربوط به صفحات وب است.

معمولا تمام صفحات یک وب سایت دارای سر صفحه و پاصفحه یکسانی هستند. 

 

[ 0 نظر ]
فارغ التحصیل رشته مهندسی کامپیوتر - نرم افزار توسعه دهنده backend توسعه دهنده android طراح سایت
صفحه اصلی
پست الکترونیک
can't open file