زبان برنامه نویسی php (بخش دوم)
فهرست مطالب
آخرین به روزرسانی در 21/10/2022
در این مقاله ما قصد داریم به بخش دوم از آشنایی و آموزش زبان php بپردازیم .
در بخش اول زبان برنامه نویسی php ما به آشنایی با این زبان ، مزایای آن ، سبک کدنویسی ،
متغیرها ، آموزش نصب و استفاده ، دستورات چاپی و … پرداختیم .
در این بخش ما به ادامه ی آموزش خواهیم پرداخت و آشنایی با این زبان را تکمیل خواهیم کرد .
(پیش نیاز این مقاله ، مقاله ی بخش اول زبان برنامه نویسی PHP می باشد.)
انواع داده ها در php
Data Types نوع داده ای را که یک متغیر می تواند ذخیره کند را تعریف می کند.
PHP به هشت نوع مختلف از نوع داده اجازه می دهد. همه آنها در زیر مورد بحث قرار می گیرند.
انواع داده ها در شکل های از پیش تعریف شده، تعریف شده توسط کاربر و خاص وجود دارد.
انواع داده های از پیش تعریف شده عبارتند از:
- Boolean
- Integer
- Double
- String
انواع داده های تعریف شده توسط کاربر (compound) عبارتند از:
- Array
- Objects
انواع داده های خاص عبارتند از:
- NULL
- resource
تعاریف داده ها
Integer (عدد صحیح) :
اعداد صحیح فقط دارای اعداد مثبت و منفی هستند،
یعنی اعداد بدون جزء کسری یا اعشاری. آنها می توانند اعشاری (پایه 10)، هشتی (مبنای 8)، یا هگزادسیمال (مبنای 16) باشند.
پایه پیش فرض اعشاری است (مبنای 10).
اعداد صحیح هشتگانه را می توان با 0 و هگزادسیمال را با 0x پیشرو اعلام کرد.
محدوده اعداد صحیح باید بین -2^31 تا 2^31 باشد.
Double :
می تواند اعداد حاوی اعداد کسری یا اعشاری شامل اعداد مثبت و منفی یا یک عدد را به صورت نمایی در خود جای دهد.
به طور پیش فرض، متغیرها حداقل تعداد اعشار را اضافه می کنند. نوع داده Double همان اعداد شناور یا اعداد حقیقی است.
String (رشته) :
مجموعه ای از حروف ها هستند که داخل گیومه قرار می گیرند و می توانند برای کاربردهای
مختلفی مورد استفاده قرار بگیرند ؛ برای درک بهتر کاربرد آن ها به مثال زیر توجه کنید .
NULL :
اینها انواع خاصی از متغیرها هستند که می توانند تنها یک مقدار خالی یعنی NULL را نگه دارند.
ما از قرارداد نوشتن آن به شکل بزرگ پیروی می کنیم، اما به حروف بزرگ و کوچک حساس است.
اگر متغیری بدون مقدار ایجاد شود، به طور خودکار مقدار NULL به آن اختصاص داده می شود.
Boolean :
انواع داده های Boolean در حالت شرطی استفاده می شود. فقط دو مقدار، TRUE یا FALSE را می گیرد.
رویدادهای موفق به TRUE و رویدادهای ناموفق به FALSE باز می گردند.
مقادیر نوع NULL نیز در بولی نادرست در نظر گرفته می شوند. به غیر از NULL،
0 نیز در بولی FALSE در نظر گرفته می شود. اگر رشته ای خالی باشد، در نوع داده بولی نیز FALSE در نظر گرفته می شود.
Array (آرایه ها) :
آرایه یک نوع داده مرکب است که می تواند چندین مقدار از یک نوع داده را ذخیره کند.
در زیر نمونه ای از آرایه اعداد صحیح آورده شده است.
مجموعه ای از داده ها را که با هم مرتبط هستند ترکیب می کند.
Object (اشیاء) :
اشیاء به عنوان نمونه هایی از کلاس های تعریف شده توسط کاربر تعریف می شوند
که می توانند مقادیر ، توابع و اطلاعات را برای پردازش داده های خاص کلاس نگهداری کنند.
هنگامی که اشیاء ایجاد می شوند، تمام خصوصیات و رفتارها را از کلاس به ارث می برند و مقادیر متفاوتی برای همه ویژگی ها دارند.
Resources (منابع) :
منابع در PHP یک نوع داده دقیق نیستند.
آنها اساساً برای ذخیره ارجاعات به برخی فراخوانی تابع یا منابع خارجی PHP استفاده می شوند.
به عنوان مثال، فراخوانی پایگاه داده را در نظر بگیرید. این یک منبع خارجی است.
متغیرهای منبع handles های خاصی را برای فایل ها و اتصالات پایگاه داده نگه می دارند.
ثابت ها(Constants) در php
ثابت ها یا شناسه ها ، نام های ساده ای هستند که می توان هر مقدار ثابتی را به آنها اختصاص داد.
آنها شبیه یک متغیر هستند با این تفاوت که هرگز نمی توان آنها را تغییر داد.
آنها در طول برنامه ثابت می مانند و نمی توان آنها را در طول اجرا نیز تغییر داد.
هنگامی که یک ثابت تعریف می شود، نمی توان آن را دوباره تعریف کرد.
شناسه های ثابت باید به ترتیب با حروف بزرگ نوشته شوند.
به طور پیش فرض، یک ثابت همیشه به حروف کوچک و بزرگ حساس است، مگر اینکه خلاف آن در برنامه ذکر شود.
یک نام ثابت هرگز نباید با یک عدد شروع شود. همیشه با یک حرف یا underscore شروع می شود و به دنبال آن حرف، اعداد یا underscore می آید. همانطور که گفته شد نباید هیچ کاراکتر خاصی به جز underscore داشته باشد.
تابع define() در PHP برای ایجاد یک ثابت مانند شکل زیر استفاده می شود:
define(name, value, case_insensitive)
- name : نام ثابت.
- Value : مقداری که باید در ثابت ذخیره شود.
- case_insensitive : مشخص می کند که آیا یک ثابت غیر حساس به حروف بزرگ و کوچک است یا خیر.
به طور پیش فرض این مقدار False است، یعنی به حروف کوچک و بزرگ حساس است.
ثابت ها Global هستند : به طور پیش فرض، ثابت ها Global هستند و می توانند در سراسر اسکریپت استفاده شوند و در داخل و خارج از هر تابعی قابل دسترسی هستند.
شرط ها در زبان php
زبان PHP نیز مانند هر زبان برنامه نویسی پویایی به ما این امکان را می دهد که اقداماتی را بر اساس نوع خاصی از شرایط انجام دهیم
که ممکن است منطقی یا مقایسه ای باشد.
بر اساس نتیجه این شرایط، یعنی TRUE یا FALSE، عملی مطابق درخواست کاربر انجام می شود.
درست مثل یک مسیر دو طرفه است. اگر چیزی میخواهید، به این سمت بروید یا سمت دیگری بروید.
برای استفاده از این ویژگی، PHP چهار دستور شرطی را در اختیار ما قرار می دهد:
- if statement
- if…else statement
- if…elseif…else statement
- switch statement
if Statement : این دستور به ما اجازه می دهد تا یک شرط را تعیین کنیم. در صورت صحیح بودن، بلوک کد زیر که در عبارت if قرار دارد اجرا می شود.
0) {
echo "The number is positive";
}
?>
if…else Statement : در این حالت علاوه بر حالت اگر ما یک حالت دیگر تحت عنوان “و اگر نه” را داریم که می گوید اگر این شرط درست نبود یا اجرا نشد بیا و این بلوک یا دستور را اجرا کن .
0) {
echo "The number is positive";
}
else{
echo "The number is negative";
}
?>
if…elseif…else Statement : این به ما امکان می دهد از چند دستور if…else استفاده کنیم.
در واقع ما در این حالت شرایط متعددی را برای درست بودن دستور بررسی خواهیم کرد .
Statement switch : سوییچ در موارد مختلف عمل می کند، یعنی موارد مختلفی دارد که با شرایط مطابقت دار و یک بلوک case خاص را به درستی اجرا می کند. ابتدا یک عبارت را ارزیابی می کند و سپس با مقادیر هر مورد مقایسه می کند.
اگر موردی مطابقت داشته باشد، همان مورد اجرا می شود. برای استفاده از سوئیچ، باید با دو کلمه کلیدی مختلف یعنی break و default آشنا شویم.
دستور break برای توقف جریان کنترل خودکار به موارد بعدی و خروج از کیس سوئیچ استفاده می شود.
دستور default حاوی کدی است که اگر هیچ یک از موارد مطابقت نداشته باشد اجرا می شود.
حلقه ها در زبان php
مانند هر زبان دیگری، حلقه در PHP برای اجرای یک دستور یا یک بلوک از دستورات، چندین بار استفاده می شود تا زمانی که یک شرط خاص برآورده شود. این به کاربر کمک می کند تا در زمان و تلاش برای چندین بار نوشتن یک کد یکسان صرفه جویی کند.
PHP از چهار نوع تکنیک حلقه پشتیبانی می کند که عبارتند از :
- for loop
- while loop
- do-while loop
- foreach loop
حلقه for :
این نوع حلقه ها زمانی استفاده می شود که کاربر از قبل بداند بلوک چند بار باید اجرا شود.
یعنی تعداد تکرارها از قبل مشخص است. این نوع حلقه ها به حلقه های ورودی کنترل شده نیز معروف هستند.
سه پارامتر اصلی برای کد وجود دارد که عبارتند از مقداردهی اولیه، شرط تست و شمارنده.
در حلقه for، از یک متغیر حلقه برای کنترل حلقه استفاده می شود. ابتدا این متغیر حلقه را با مقداری ، مقداردهی اولیه کنید،
سپس بررسی کنید که آیا این متغیر کوچکتر یا بزرگتر از مقدار شمارنده است.
اگر عبارت درست باشد، بدنه حلقه اجرا می شود و متغیر حلقه به روز می شود. مراحل تکرار می شود تا شرایط خروج مهیا شود .
عبارت Initialization : در این عبارت باید شمارنده حلقه را به مقداری مقداردهی اولیه کنیم. برای مثال: ;num = 1 $
Test Expression : در این عبارت باید شرط را آزمایش کنیم. اگر شرط به درستی ارزیابی شود،
بدنه حلقه را اجرا می کنیم و به به روز رسانی عبارت می رویم در غیر این صورت از حلقه for خارج می شویم. به عنوان مثال: ;num <= 10 $
به روز رسانی عبارت : پس از اجرای حلقه ، این عبارت متغیر حلقه را با مقداری افزایش/کاهش می دهد. برای مثال: ;num += 2 $
حلقه while :
حلقه while نیز یک حلقه کنترل ورودی مانند حلقههای for است،
یعنی ابتدا شرط را در ابتدای حلقه بررسی میکند و اگر درست باشد، وارد حلقه میشود و
بلوک عبارات را اجرا میکند و به اجرای آن ادامه میدهد. تا زمانی که شرط درست باشد .
حلقه do-while :
این یک حلقه کنترل خروجی است که به این معنی است که ابتدا وارد حلقه می شود، دستورات را اجرا می کند و سپس شرایط را بررسی می کند.
بنابراین، یک دستور حداقل یک بار با استفاده از حلقه do…while اجرا می شود.
پس از یک بار اجرا، برنامه تا زمانی اجرا می شود که شرط درست باشد.
حلقه foreach :
این حلقه برای تکرار روی آرایه ها استفاده می شود. برای هر شمارنده حلقه، یک عنصر آرایه اختصاص داده می شود و شمارنده بعدی به عنصر بعدی منتقل می شود.
superglobal های php
متدهایی که در این بخش میخواهیم بگوییم در واقع متغیرهای آرایه ای هستند که به طور خاص در PHP تعریف شده اند
که به راحتی می توانید اطلاعات مربوط به یک درخواست یا زمینه آن را دریافت کنید.
superglobals در سراسر برنامه شما در دسترس هستند.
این متغیرها را می توان از هر تابع، کلاس یا هر فایلی بدون انجام کار خاصی مانند اعلان هر متغیر سراسری و … دسترسی داشت.
آنها عمدتاً برای ذخیره و دریافت اطلاعات از یک صفحه به صفحه دیگر و … در یک برنامه کاربردی استفاده می شوند.
در زیر لیستی از متغیرهای superglobal موجود در PHP آمده است :
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_GET
- $_POST
- $_SESSION
- $_COOKIE
- $_FILES
- $_ENV
$GLOBALS :
این یک متغیر superglobal است که برای دسترسی به متغیرهای سراسری از هر نقطه در اسکریپت PHP استفاده می شود.
پی اچ پی همه متغیرهای سراسری را در آرایه [] GLOBALS$ ذخیره میکند،
سپس جایی که ایندکس نام متغیر سراسری را نگه میدارد که میتوان به آن دسترسی داشت.
برنامه زیر استفاده از GLOBALS$ در PHP را نشان می دهد:
در کد بالا دو متغیر سراسری x$ و y$ اعلام شده اند که مقداری به آنها اختصاص داده شده است.
سپس یک تابع ()multiplication تعریف می شود تا مقادیر x$ و y$ را ضرب کند و در متغیر دیگری z$ تعریف شده در آرایه GLOBAL ذخیره کند.
SERVER_$ :
این یکی دیگر از متغیرهای superglobal PHP است که اطلاعات مربوط به هدرها، مسیرها و مکان های اسکریپت را ذخیره می کند.
برخی از این عناصر برای دریافت اطلاعات از متغیر superglobal $_SERVER استفاده می کنند.
برنامه زیر استفاده از SERVER_$ در PHP را نشان می دهد:
";
echo $_SERVER['SERVER_NAME'];
echo "
";
echo $_SERVER['HTTP_HOST'];
echo "
";
echo $_SERVER['HTTP_USER_AGENT'];
echo "
";
echo $_SERVER['SCRIPT_NAME'];
echo "
"
?>
در کد بالا از عناصر SERVER_$ برای دریافت اطلاعات استفاده کردیم.
ما نام فایل فعلی را دریافت می کنیم که با استفاده از عنصر PHP_SELF روی آن کار شده است.
سپس نام سرور مورد استفاده که در حال حاضر با استفاده از عنصر SERVER_NAME را دریافت می کنیم.
و سپس نام میزبان را از طریق HTTP_HOST دریافت می کنیم.
REQUEST _$ :
این متغیر برای جمع آوری داده ها پس از ارسال فرم HTML استفاده می شود.
REQUEST _$ کمتر استفاده می شود، زیرا POST_$ و GET_$ یک کار را انجام می دهند و به طور گسترده مورد استفاده قرار می گیرند.
در زیر کد HTML و PHP برای توضیح نحوه عملکرد REQUEST _$ آمده است:
$_POST :
این متغیر برای جمع آوری داده ها از فرم HTML پس از ارسال آن استفاده می کند.
هنگامی که فرم از روش post برای انتقال داده استفاده می کند، داده ها در رشته query قابل مشاهده نیستند، به همین دلیل سطوح امنیتی در این روش حفظ می شود.
".$nm." is $age years old.";
?>
$_GET :
برای جمع آوری داده ها از فرم HTML پس از ارسال آن استفاده می شود.
هنگامی که فرم از متد get برای انتقال داده استفاده می کند، داده ها در رشته کوئری قابل مشاهده است، بنابراین مقادیر پنهان نمی شوند.
همچنین این دستور مقادیری را که در URL آمده اند ذخیره می کند.
This is ".$name." of ".$city."
";
?>
آرایه ها در php
آرایهها در PHP نوعی ساختار داده است که به ما امکان میدهد چندین عنصر از نوع داده مشابه را در زیر یک متغیر ذخیره کنیم
و در نتیجه از تلاش ما برای ایجاد یک متغیر متفاوت برای هر داده صرفهجویی کنیم.
آرایه ها برای ایجاد فهرستی از عناصر از انواع مشابه که می توان با استفاده از فهرست یا کلید آنها به آنها دسترسی داشت، مفید است.
فرض کنید می خواهیم پنج نام را ذخیره کرده و بر اساس آن آنها را چاپ کنیم.
این را می توان به راحتی با استفاده از پنج متغیر رشته ای مختلف انجام داد.
اما اگر به جای پنج، این عدد به صد افزایش یابد، ایجاد متغیرهای مختلف برای کاربر یا توسعه دهنده واقعاً دشوار خواهد بود.
در اینجا آرایه وارد بازی می شود و به ما کمک می کند تا هر عنصر را در یک متغیر ذخیره کنیم و
همچنین امکان دسترسی آسان با استفاده از یک شاخص یا یک کلید را فراهم می کند.
یک آرایه با استفاده از تابع ()array در PHP ایجاد می شود.
انواع آرایه ها
آرایه های شاخص یا عددی : آرایه ای با شاخص عددی که در آن مقادیر به صورت خطی ذخیره می شوند.
آرایه های انجمنی : آرایه ای با فهرست رشته ای که در آن به جای ذخیره سازی خطی، می توان به هر مقدار یک کلید خاص اختصاص داد.
"Zara", "Anthony"=>"Any",
"Ram"=>"Rani", "Salim"=>"Sara",
"Raghav"=>"Ravina");
// Second way to create an associative array
$name_two["zack"] = "zara";
$name_two["anthony"] = "any";
$name_two["ram"] = "rani";
$name_two["salim"] = "sara";
$name_two["raghav"] = "ravina";
// Accessing the elements directly
echo "Accessing the elements directly:\n";
echo $name_two["zack"], "\n";
echo $name_two["salim"], "\n";
echo $name_two["anthony"], "\n";
echo $name_one["Ram"], "\n";
echo $name_one["Raghav"], "\n";
?>
آرایههای چند بعدی : آرایهای که حاوی آرایههای منفرد یا چندگانه است و از طریق چند شاخص قابل دسترسی است.
"Dave Punk",
"mob" => "5689741523",
"email" => "davepunk@gmail.com",
),
array(
"name" => "Monty Smith",
"mob" => "2584369721",
"email" => "montysmith@gmail.com",
),
array(
"name" => "John Flinch",
"mob" => "9875147536",
"email" => "johnflinch@gmail.com",
)
);
// Accessing elements
echo "Dave Punk email-id is: " . $favorites[0]["email"], "\n";
echo "John Flinch mobile number is: " . $favorites[2]["mob"];
?>
Traversing (پیمایش) : ما می توانیم با استفاده از حلقه ها در PHP از یک آرایه نمایه شده عبور کنیم.
ما می توانیم از طریق آرایه نمایه شده به دو صورت حلقه بزنیم.
اول با استفاده از حلقه for و دوم با استفاده ازforeach .
(نکته : لازم به ذکر است قطعا زبان php بسیار گسترده تر از دو مقاله ای که گفته شد می باشد و ما تنها سعی کردیم بخش های اصلی و توضیحات کلی را در رابطه با این زبان بدهیم ؛ قطعا برای درک کامل این زبان نیاز به آموزش های بیشتر و تمارین بیشتری نیز می باشد ، پس تنها به این دو مقاله و این آموزش بسنده نکنید .)
منبع :
مهرسا امینی
برنامه نویس ، انیماتور ، سئوکار
در زندگی رویاهات را دنبال کن