کاربرد متدها و متغیرهای static در PHP چیست ؟
سلام توی بعضی از قسمت های بعضی از پروژه های PHP دیدم که بعضی از متدها یا متغیرها رو به صورت static تعریف می کنن. لطفا توضیح بدید که کاربرد متدها و متغیرهای static در PHP چیست ؟
کاربرد متدها و متغیرهای static در PHP چیست ؟
در Php دو نوع تعریف متد وجود دارد. متدهای static و متدهای non static. این دو نوع متد تفاوتهایی با همدیگر دارند.
متدهای static در PHP
این نوع از متدها رو می توان بدون اینکه نمونه ای از آنها ساخت استفاده کرد. به عبارتی به متغیر ها و توابع static برخلاف متغیر ها و توابع non tstatic می توانید بدون ایجاد شئ از کلاس، دسترسی داشت.
به عنوان مثال متد static زیر را ببنید
<?php
class ClassName {
public static function staticMethod() {
echo "Hello World!";
}
}
?>
در بالا یک تابع static به نام staticMethod ایجاد شده است. این تابع درون کلاس ClassName می باشد. حال برای استفاده از این تابع می توانیم به صورت زیر عمل کنیم :
ClassName::staticMethod();
مثال 2 : مثال زیر هم نمونه دیگری از متدها و توابع static و نحوه استفاده از آنها را نمایش می دهد.
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
}
// Call static method
greeting::welcome();
?>
متدها و متغیرهای static در چه محدوده هایی تعریف می شوند
از متدهای static می توان به صورت public, protected, private و final استفاده کرد.
- public : متد یا متغیر static مورد نظر در سراسر پروژه قابل دسترسی می باشد.
- protected : متد یا متغیر فقط در همان کلاس و یا کلاس هایی که از کلاس اصلی مشتق شده باشند قابل دسترسی می باشد.
- private : فقط در کلاسی که تعریف شده قابل استفاده می باشد.
- final : در همه جا قابل استفاده می باشد، جز در کلاس های توسعه دهنده نمی تواند دوباره تعریف شود.
نکته : برای دسترسی به متدهای static همانطور که در مثال های بالا اشاره شده باید از دو نقطه استفاده کرد . (::)
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- تبدیل اعداد انگلیسی به فارسی در سایت
- معنی و مفهوم و کاربرد Thread pool در وب
- ستون کلید اصلی در دیتابیس از نوع int بهتر است یا Guid
- وب سرویس چیست ؟ کاربرد وب سرویس چیست ؟ انواع وب سرویس ها کدامند ؟
- وارد کردن فقط حروف انگلیسی در تکست باکس در html
- تخمین هزینه تولید نرم افزار تحت وب
- بدست آوردن url توسط جی کویری
- نحوه ساخت سایت رایگان