TGViewer
| کانال توسعه‌دهندگان PHP | | کانال توسعه‌دهندگان PHP | @developixphp · 1.68K subscribers
Post #30 583
مجیک متدها (Magic Methods) در PHP توابعی هستند که به طور خودکار در پاسخ به برخی رویدادهای خاص در شیء فراخوانی می‌شوند.
این توابع با دو علامت زیرخط (__) شروع می‌شوند. مجیک متدها به برنامه‌نویسان اجازه می‌دهند تا رفتارهای خاصی را در زمان اجرا، مانند ساختن یک شیء یا نابودی آن، اضافه، تغییر یا حذف خصوصیات و غیره، به کلاس‌های خود اضافه کنند.

در ادامه توضیحات کاملی برای هر یک از مجیک متد ها داده میشود.
اگرچه همه شما با مجیک متد های __construct و __destruct آشنا هستید ولی لازم است توضیحاتی برای آنها نیز داده شود.

متد __construct به عنوان سازنده کلاس عمل می‌کند و به محض ایجاد نمونه‌ای از کلاس فراخوانی می‌شود. این متد معمولاً برای اولیه‌سازی خصوصیات شیء و انجام تنظیمات اولیه استفاده می‌شود.

مثال:
class Person {
public $name;
public $age;

public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}

public function greet() {
return "Hello, my name is " . $this->name . " and I am " . $this->age . " years old.";
}
}

$person = new Person("John", 30);
echo $person->greet();


متد __construct زمانی فراخوانی می‌شود که یک نمونه جدید از کلاس Person ساخته می‌شود. این متد دو پارامتر name و age را می‌گیرد و آن‌ها را به خصوصیات شیء اختصاص می‌دهد.
این روش برای اولیه‌سازی شیء با داده‌های اولیه استفاده می‌شود.
متد greet یک پیام خوش‌آمدگویی تولید می‌کند که نام و سن شخص را شامل می‌شود که در متد __construct مقدار دهی شده است.

———

متد __destruct نابودکننده کلاس است و زمانی فراخوانی می‌شود که شیء دیگر مورد استفاده قرار نگیرد یا اسکریپت به پایان برسد. این متد معمولاً برای انجام پاک‌سازی، آزادسازی منابع یا سایر تنظیمات پایانی قبل از از بین رفتن شیء استفاده می‌شود.

مثال:
class FileHandler {
private $file;

public function __construct($filename) {
$this->file = fopen($filename, 'w');
}

public function write($data) {
fwrite($this->file, $data);
}

public function __destruct() {
fclose($this->file);
echo "File closed.\n";
}
}

$file = new FileHandler("example.txt");
$file->write("Hello World");
// Result: "File closed."


متد __construct برای باز کردن یک فایل جدید یا موجود استفاده می‌شود و فایل را در پراپرتی file ذخیره میکند.
متد write داده‌ای که به آن داده شده را در فایل می‌نویسد.
و در نهایت که شئ کاری برای انجام دادن ندارد و اسکریپت به پایان میرسد متد __destruct فراخوانی می‌شود و فایل باز شده را می بندد و پیام File closed. را چاپ میکند.

👤 AmirHossein

💎 Channel: @DevelopixPHP
  • 👍 9
More from @developixphp
  1. Sep 26, 2026این کد موقع اجرا چه خروجی‌ای می‌ده و مشکلش کجاست؟ 🔖 #PHP #پی_اچ_پی 👤 Developix 💎 Channe…
  2. Sep 25, 2026🔥 پکیج: قراردادهای ترجمه سیمفونی اگر کد PHP را برای چندزبانگی می‌نویسید، بهتر است منطق بر…
  3. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
  4. Sep 11, 2026ارسال ایمیل تأیید ثبت‌نام، بازیابی رمز عبور یا نوتیفیکیشن سفارش، تقریباً توی هر پروژه‌ PHP…
  5. Sep 10, 2026برنامه نویسی سوکت در PHP بخش اول عبارت دیگر در ارتباط های غیر سوکت برای ارسال یک پالس از س…
  6. Aug 31, 2026🔥 پکیج: استاندارد PSR-11 برای Container استاندارد PSR-11 فقط یه interface مشترک برای Cont…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →