اول با تعریف کردن تابع شروع میکنیم
برای تعریف یک تابع در PHP از کلمه کلیدی function استفاده میشود
ساختار کد به شکل کد زیر هستش
و اگه بخوایم از یک تابع ساده استفاده کنیم
و اگه بخوایم از یک تابع با چند پارامتر استفاده کنیم به شکل زیر است
و اگه بخوایم از تابع بدون پارامتر استفاده کنیم به شکل زیر هستش
و اگه بخوایم از تابع با مقدار پیشفرض استفاده کنیم به شکل زیر هست
و اگه بخوابم از return استفاده کنیم به شکل زیر هست
و در آخر هم این توضیحات رو بدم که نام تابع نمیتواند با حروف کوچک و بزرگ متفاوت باشد (حساس به حروف)
@php_codee
برای تعریف یک تابع در PHP از کلمه کلیدی function استفاده میشود
ساختار کد به شکل کد زیر هستش
function php_code($a1, $a2) {
return result ;
}
//کلمه php_code اسم تابع هستش و اگه بخوایم از یک تابع ساده استفاده کنیم
function php_code($name) {
return $name;
}
echo php_code("test");
//نتیجه test هستشو اگه بخوایم از یک تابع با چند پارامتر استفاده کنیم به شکل زیر است
function php_code($a, $b) {
return $a + $b;
}
echo php_code(5, 10);
//نتیجه عدد 15 هستشو اگه بخوایم از تابع بدون پارامتر استفاده کنیم به شکل زیر هستش
function php_code() {
echo "سلام";
}
php_code();
//نتیجه سلامو اگه بخوایم از تابع با مقدار پیشفرض استفاده کنیم به شکل زیر هست
function php_code($a, $b = 1) {
return $a * $b;
}
echo php_code(5);
// خروجی 5 (چون b به طور پیشفرض 1 هست)
echo php_code(5, 2);
// خروجی 10و اگه بخوابم از return استفاده کنیم به شکل زیر هست
function php_code($number) {
return $number * $number;
}
$result = php_code(4);
echo $result;
// خروجی 16و در آخر هم این توضیحات رو بدم که نام تابع نمیتواند با حروف کوچک و بزرگ متفاوت باشد (حساس به حروف)
@php_codee
👍2❤1👏1
توی PHP، کلاسهای ناشناس یا همون Anonymous Classes به شما این امکان رو میده که بتونید یک کلاس رو درون یک متد یا بلوک کد تعریف کنید بدون اینکه اسمی برای اون کلاس تعیین کنید.
مثال ساده از کلاس ناشناس
برای استفاده از متد کلاس ناشناس:
شما همچنین میتوانید از وراثت در کلاسهای ناشناس استفاده کنید:
استفاده از متد کلاس ناشناس
عدم قابلیت استفاده مجدد
چون این کلاسها اسم ندارن نیمتونید اون ها رو دوباره در جاهای دیگر استفاده کنید.
و برخی از ویژگیهای پیچیدهتر شیگرایی ممکنه در کلاسهای ناشناس قابل استفاده نباشند.
اینم بگم که این ویژگی از PHP 7.0 به بعد معرفی شده
@php_codee
مثال ساده از کلاس ناشناس
//ایجاد کلاس
<?php
$myClass = new class {
public function ahmad() {
return "سلام!";
}
};
برای استفاده از متد کلاس ناشناس:
echo $myClass->ahmad();
// خروجی سلام
شما همچنین میتوانید از وراثت در کلاسهای ناشناس استفاده کنید:
<?php
class phpcode {
public function ahmad() {
return "سلام احمد!";
}
}
$myClass = new class extends phpcode {
public function ahmad() {
return "تست از کلاس ناشناس";
}
};
استفاده از متد کلاس ناشناس
echo $myClass->ahmad();
// خروجی سلام از کلاس ناشناس
عدم قابلیت استفاده مجدد
چون این کلاسها اسم ندارن نیمتونید اون ها رو دوباره در جاهای دیگر استفاده کنید.
و برخی از ویژگیهای پیچیدهتر شیگرایی ممکنه در کلاسهای ناشناس قابل استفاده نباشند.
اینم بگم که این ویژگی از PHP 7.0 به بعد معرفی شده
@php_codee
🔥3❤1👍1
اموزش مبتدی شیء گرایی رو داریم دوستان
اول باید کلاس رو تعریف کنیم
به این شکل
خب ما یک کلاس به نام phpcode تعریف کردیم
میخوایم به این کلاس دو ویژگی (property) و چند متد (method) اضاف کنیم
به این صورت
در مرحله بعد باید سازنده (Constructor) رو اضاف کنیم
سازنده متدیه که هنگام ایجاد یک شیء از کلاس فراخوانی میشه
در اینجا، سازنده دو پارامتر $name و $surname رو میگیره و اونارو به ویژگیهای کلاس نسبت میده.
- $this:
اشاره گری به شیء جاری هستش استفاده از
$this->name و $this->surname
ما به ویژگی های شیء جاری دسترسی پیدا میکنیم
و مرحله بعدی متد نمایش اطلاعاته
متد displayInfo برای نمایش اطلاعات شیء طراحی شده
این متد یک رشته رو برمیگردونه که شامل نام و نام خانوادگیه
و مرحله بعدی ایجاد شیء
برای ایجاد یک شیء از کلاس phpcode، از کلمه کلیدی new استفاده میکنیم:
رسیدیم به فراخوانی متد
در نهایت، برای نمایش اطلاعات شیء متد displayInfo رو فراخوانی میکنیم:
که خروجی به این شکل هستش
@php_codee
اول باید کلاس رو تعریف کنیم
به این شکل
class phpcode {خب ما یک کلاس به نام phpcode تعریف کردیم
میخوایم به این کلاس دو ویژگی (property) و چند متد (method) اضاف کنیم
به این صورت
class phpcode {
public $name;
public $surname;در مرحله بعد باید سازنده (Constructor) رو اضاف کنیم
سازنده متدیه که هنگام ایجاد یک شیء از کلاس فراخوانی میشه
در اینجا، سازنده دو پارامتر $name و $surname رو میگیره و اونارو به ویژگیهای کلاس نسبت میده.
public function __construct($name, $surname) {
$this->name = $name;
$this->surname = $surname;
}- $this:
اشاره گری به شیء جاری هستش استفاده از
$this->name و $this->surname
ما به ویژگی های شیء جاری دسترسی پیدا میکنیم
و مرحله بعدی متد نمایش اطلاعاته
متد displayInfo برای نمایش اطلاعات شیء طراحی شده
این متد یک رشته رو برمیگردونه که شامل نام و نام خانوادگیه
public function displayInfo() {
return "Name: " . $this->name . ", surname: " . $this->surname;
}و مرحله بعدی ایجاد شیء
برای ایجاد یک شیء از کلاس phpcode، از کلمه کلیدی new استفاده میکنیم:
$myself = new phpcode("ahmadreza", "sharifi");رسیدیم به فراخوانی متد
در نهایت، برای نمایش اطلاعات شیء متد displayInfo رو فراخوانی میکنیم:
echo $myself->displayInfo();
که خروجی به این شکل هستش
Name: ahmadreza, surname: sharifi
@php_codee
یکی از دوستان پرسیده بود که فرق echo با print_r چیه
خب در echo و print_r دوتا دستور مختلف واسه نمایش داده ها هست که توی هر کدوم کاربرد خاص خودشونو دارن
echo
خب echo یک تابع نیست
پس نیازی به پرانتز نداره
و echo معمولا سریعتر از print_r هست چون کارکرد ساده تری داره
و میشه چندین رشته رچ به صورت همزمان با استفاده از کاما (,) به echo بدیم مثل
print_r
خب print_r واسه نمایش اطلاعات هستش
به ویژه آرایهها و اشیاء یا همون (objects) استفاده میشه
این تابع دادهها رو به صورت منظم نمایش میده
خب print_r یک تابعه که میتونه نتیجه رو به عنوان یه رشته برگردونه
اگه پارامتر دوم اون رو true تنظیم کنین
و خب معمولا برای دیباگ کردن و بررسی محتویات آرایهها و اشیاء کاربرد داره
مثلا
و در اخر بگم که
اکو برای نمایش رشتهها و متغیرها سریع تر و سادهتره
و print_r برای نمایش اطلاعات ساختار یافته مثل آرایهها و اشیاء مناسبتر و خواناتره
اگه شما فقط نیاز به نمایش یه متن ساده دارین از echo استفاده کنین اما اگر بخواین محتویات یه آرایه یا شیء رو بررسی کنین از print_r استفاده کنین
@php_codee
خب در echo و print_r دوتا دستور مختلف واسه نمایش داده ها هست که توی هر کدوم کاربرد خاص خودشونو دارن
echo
خب echo یک تابع نیست
پس نیازی به پرانتز نداره
و echo معمولا سریعتر از print_r هست چون کارکرد ساده تری داره
و میشه چندین رشته رچ به صورت همزمان با استفاده از کاما (,) به echo بدیم مثل
$test = "سیب";
echo "خروجی: " . $test;
print_r
خب print_r واسه نمایش اطلاعات هستش
به ویژه آرایهها و اشیاء یا همون (objects) استفاده میشه
این تابع دادهها رو به صورت منظم نمایش میده
خب print_r یک تابعه که میتونه نتیجه رو به عنوان یه رشته برگردونه
اگه پارامتر دوم اون رو true تنظیم کنین
و خب معمولا برای دیباگ کردن و بررسی محتویات آرایهها و اشیاء کاربرد داره
مثلا
$array = array("تست۳", "تست۲", "تست");
print_r($array);
// خروجی:
// Array
// (
// [0] => تست
// [1] => تست۲
// [2] => تست۳
// )و در اخر بگم که
اکو برای نمایش رشتهها و متغیرها سریع تر و سادهتره
و print_r برای نمایش اطلاعات ساختار یافته مثل آرایهها و اشیاء مناسبتر و خواناتره
اگه شما فقط نیاز به نمایش یه متن ساده دارین از echo استفاده کنین اما اگر بخواین محتویات یه آرایه یا شیء رو بررسی کنین از print_r استفاده کنین
@php_codee