میں ، خصوصی افعال کی اس طرح تعریف کی جاسکتی ہے کہ انہیں خود بخود بلایا جاسکے اور ان افعال کے اندر موجود کوڈ کو عملی جامہ پہنانے کے لئے کسی فنکشن کال کی ضرورت نہ ہو۔ یہ خصوصیت جادو کے طریقوں کے نام سے مشہور ایک خاص طریقہ میں دستیاب ہے۔ اس مضمون میں ، ہم پی ایچ پی میں سب سے اوپر جادو کے طریقوں پر تبادلہ خیال کریں گے۔
پی ایچ پی میں جادو کے طریقے کیا ہیں؟
وہ طریقے جن کی ابتداء 2 انڈر سکور (__) سے ہوتی ہے انھیں پی ایچ پی میں عام طور پر جادو کے طریقے کہتے ہیں۔ ان طریقوں کے نام کچھ فہرست میں محدود ہیں پی ایچ پی تعاون یافتہ مطلوبہ الفاظ جو محفوظ ہیں۔ لہذا کسی بھی فنکشن کی وضاحت پی ایچ پی جادوئی طریقوں کے نام سے نہیں کی جانی چاہئے۔
مثال کے طور پر جاوا میں کاسٹنگ ٹائپ کریں
عام طور پر ، ان افعال کو صارف کی طرف سے بیان کیا جانا چاہئے اور ان کو واضح طور پر کال کرنے کی ضرورت نہیں ہے۔
پی ایچ پی میں جادو کے طریقوں کی فہرست
- __تعمیر()
- __ ڈسٹرکٹ ()
- __call ($ تفریح ، g ارگ)
- __callStatic ($ تفریح ، $ ارگ)
- __get ($ پراپرٹی)
- __ سیٹ ($ پراپرٹی ، $ ویلیو)
- __ سیٹ ($ مواد)
- __ غیر سیٹ ($ مواد)
- __ نیند ()
- __ ویک اپ ()
- سٹرنگ ()
- __invoke ()
- __set_state ($ سرنی)
- __کلاون ()
- __debugInfo ()
- __تعمیر(): یہ ایک ایسا طریقہ ہے جو کسی شے کی تخلیق کے بعد خود بخود کال ہوجاتا ہے۔ یہاں کسی بھی طرح کے بہت سارے دلائل کی وضاحت کی جاسکتی ہے جو آبجیکٹ تخلیق ہونے پر منظور ہوجائے گی۔
کلاس نمونہ {فعل صارف_دف () cho گونج 'صارف کی وضاحت کنسٹرکٹر'} فنکشن __construct () cho بازگشت 'پیش وضاحتی تعمیر کنندہ'}} $ اعتراض = نیا نمونہ ()؟>
- __ ڈیزائن (): ڈسٹریکٹر آبجیکٹ پر مبنی زبان کی ایک عام خصوصیت ہے جو کسی خاص شے کے کوئی اور حوالہ نہ ہوتے ہی متحرک ہوجاتی ہے۔
صارف_دیف () // چیک آبجیکٹ تباہ ہوچکی ہے یا نہ ہی گونج ہے_بجیکٹ ($ اعتراض)۔ ' '؟>
- __call ($ تفریح ، $ ارگ): یہ طریقہ اس وقت کہا جاتا ہے جب کسی غیر متعینہ یا ناقابل رسائی طریقہ کو کہا جاتا ہے۔ جس کا مطلب ہے جب اس کو کہا جاتا ہے جب کسی شے پر غیر وضاحتی یا ناقابل رسائی طریقہ استعمال کیا جاتا ہے۔
چلائیں ('اساتذہ') // اگر وہ طریقہ جو وجود نہیں رکھتا ہے اسے آبجیکٹ کے اندر بلایا جاتا ہے ، تو __call () طریقہ خود بخود کال ہوجائے گا۔ $ اعتراض-> کھائیں ('اشوک' ، 'نارنگی') $ اعتراض-> صارف_حیات ()؟>
- __callStatic ($ تفریح ، $ ارگ): یہ طریقہ اس وقت کہا جاتا ہے جب غیر مستند یا ناقابل رسائی طریقہ کو مستحکم انداز میں طلب کیا جاتا ہے۔
user_define ()؟>
- __get ($ پراپرٹی): اس طریقہ کار کو طبقاتی خصوصیات کے لئے اقدار حاصل کرنے کے لئے استعمال کیا جاتا ہے جو پی ایچ پی کی خاصیت سے زیادہ بوجھ کے ذریعہ متحرک طور پر تخلیق کیا جاتا ہے۔
نام = $ نام $ اس-> ریگ = $ ریگ function عوامی تقریب __get ($ پراپرٹی نام) {اگر ($ پراپرٹی نام == 'ریگ') {اگر ($ یہ-> ریگ> 30) {واپسی $ اس-> رج - 10} دوسری {واپسی $ اس -> $ پراپرٹی نام}} دیگر {لوٹنا $ اس -> $ پراپرٹی نام}}} $ اعتراض = نیا طالب علم ('اشوک' ، 60) // اسٹوڈنٹ کلاس کے ساتھ چیز کو تیز کریں اور ابتدائی اقدار تفویض کریں تعمیراتی کے ساتھ خصوصیات میں. گونج 'نام :'۔ $ اعتراض-> نام۔ '' // جب نجی ملکیت تک رسائی حاصل ہوجائے گی ، تو __get () طریقہ خود بخود کال ہوجائے گا ، لہذا ہم جائیداد کی قیمت بالواسطہ حاصل کرسکتے ہیں۔ بازگشت 'reg :'۔ $ اعتراض-> ریگ '' // __get () طریقہ کار کو خود بخود کہا جاتا ہے , اور وہ شے کے مطابق مختلف اقدار کو لوٹاتا ہے۔ ؟>
XML اور HTML کے درمیان فرق
- __ سیٹ ($ پراپرٹی ، $ ویلیو): اس طریقہ کار کو طبقاتی خصوصیات کے لئے اقدار ڈالنے کے لئے استعمال کیا جاتا ہے جو پی ایچ پی کی خاصیت سے زیادہ بوجھ کے ذریعہ متحرک طور پر تخلیق کیا جاتا ہے۔
نام = $ نام $ اس-> ریگ = $ ریگ} عوامی تقریب __set ($ پراپرٹی ، $ قدر) {اگر ($ پراپرٹی == 'ریگ') $ قدر $ پراپرٹی = $ قدر عوامی تقریب تفریح () 'گونج' میرا نام '. $ this-> نام ہے۔' ، میرا رجسٹریشن نمبر ہے '. $ this-> reg}} $ اعتراض = نیا طالب علم (' اشوک '، 40) // نوٹ کریں کہ ابتدائی قیمت کوڈ کے ذریعہ تبدیل کردی جائے گی نیچے $ اعتراض-> نام = 'سشما' // 'نام' پراپرٹی کامیابی کے ساتھ تفویض کی جائے گی۔ اگر کوئی __set () طریقہ موجود نہیں ہے ، تو پروگرام مستثنیٰ ہوگا۔ $ اعتراض-> عمر = 16 // 'رج' جائیداد کامیابی کے ساتھ تفویض کی جائے گی۔ $ اعتراض-> ریگ = 160 // 160 ایک غلط قیمت ہے ، لہذا یہ تفویض کرنے میں ناکام ہے۔ $ اعتراض-> تفریح ()؟>
- __ تاریخ ($ مواد)؛ اس طریقہ کو غیر متعینہ یا ناقابل رسائی ممبر کے لئے isset () یا خالی () پر کال کرتے ہوئے کہا جائے گا۔ پی ایچ پی اسسیٹ () فنکشن کا استعمال کرکے یہ مطلوبہ اوورلوڈڈ پراپرٹی سیٹ کی گئی ہے یا نہیں اس کی جانچ پڑتال کے دوران یہ خود کار طریقے سے چلائی جاتی ہے۔
نام = $ name $ this-> reg = $ reg $ this-> صنف = $ صنف} عوامی تقریب __isset ($ مواد) cho گونج '{$ مواد} پراپرٹی نجی ہے , __isset () طریقہ خود بخود کہا جاتا ہے۔ 'گونج isset ($ یہ -> $ مواد)}} $ اعتراض = نیا طالب علم (' اشوک '، 30) // ابتدائی طور پر تفویض کیا گیا ہے۔ گونج isset ($ اعتراض-> صنف)، '' ایکو isset ($ اعتراض-> نام)، '' ایکو isset ($ اعتراض-> رج)، ''؟>
- __ غیر سیٹ ($ مواد): یہ طریقہ غیر طے شدہ یا ناقابل رسائی ممبر کے لئے ری سیٹ () کو کال کرتے وقت کہا جائے گا۔
نام = $ name $ this-> reg = $ reg $ this-> صنف = $ صنف} عوامی تقریب __ غیر سیٹ ($ مواد) {گونج 'جب ہم کلاس سے باہر غیر سیٹ () طریقہ استعمال کریں گے تو اسے خود بخود کہا جاتا ہے۔ 'گونج isset ($ یہ -> $ مواد)}} $ اعتراض = نیا طالب علم (' اشوک '، 30) // ابتدائی طور پر تفویض کیا گیا ہے۔ غیر سیٹ ($ اعتراض-> صنف) غیر سیٹ ($ اعتراض-> نام) غیر سیٹ ($ اعتراض-> رج)؟>
- __ نیند (): یہ طریقہ سب سے پہلے سیریلائز () چلاتے وقت کہلاتا ہے۔ یہ سیریلائزیشن سے پہلے پی ایچ پی کی کلاس اشیاء کو صاف کرنے پر آبجیکٹ کی پراپرٹی کی صف میں واپس آجاتا ہے۔
نام = $ نام $ اس-> ریگ = $ ریگ $ اس-> صنف = $ صنف} عوامی تقریب __ نیند () cho گونج It جب کہا جاتا ہے کہ جب سیرلائز () طریقہ کو کلاس سے باہر کہا جاتا ہے۔ '$ this-> name = base64_encode ($ this-> name) واپسی سرنی (' name '،' reg ') // اسے لازمی طور پر ایسی قیمت واپس کرنا ہوگی جس میں عناصر واپس ہونے والی خصوصیات کا نام ہیں۔ }} $ اعتراض = نیا طالب علم ('اشوک') // ابتدائی طور پر تفویض کیا گیا۔ ایکو سیریلائز ($ اعتراض) گونج ''؟>
- __ ویک اپ (): اس طریقہ کو اس وقت کہا جاتا ہے جب ڈیسیریلائزیشن () پر عملدرآمد کیا جاتا ہے۔ یہ ڈیسیریلائزیشن () کو طلب کرنے پر اشیاء کی خصوصیات اور وسائل کی بحالی کے لئے کام کو الٹ دے گا۔
نام = $ نام $ اس-> ریگ = $ ریگ $ اس-> صنف = $ صنف} عوامی تقریب __ نیند () cho گونج It جب کہا جاتا ہے کہ جب سیرلائز () طریقہ کو کلاس سے باہر کہا جاتا ہے۔ '$ this-> name = base64_encode ($ this-> name) واپسی سرنی (' name '،' reg ') // اسے لازمی طور پر ایسی قیمت واپس کرنا ہوگی جس میں عناصر واپس ہونے والی خصوصیات کا نام ہیں۔ function عوامی تقریب __Wakeup () cho بازگشت '' اس وقت کہا جاتا ہے جب غیر منتخب () طریقہ کو کلاس سے باہر کہا جاتا ہے۔ '$ this-> نام = 2 $ this-> صنف =' مرد '}} $ اعتراض = نیا طالب علم (' اشوک ') // ابتدائی طور پر تفویض کیا گیا ہے۔ var_dump (سیریلائز ($ اعتراض)) var_dump (غیر منتخب (سیریلائز ($ اعتراض)))؟>
- سٹرنگ (): کسی طریقہ کو براہ راست پرنٹ کرنے کے لئے ایکو میتھڈ کا استعمال کرتے ہوئے یہ طریقہ کہا جائے گا۔ توقع کی جارہی ہے کہ پی ایچ پی پرنٹنگ کے بیانات کے ساتھ کلاس مثالوں کو استعمال کرتے ہوئے اسٹرنگ ویلیو کی واپسی ہوگی۔
name = $ name $ this-> reg = $ reg $ this-> صنف = $ صنف} عوامی تقریب __toString () {واپسی 'go go go'}} $ اعتراض = نیا طالب علم ('اشوک') // ابتدائی طور پر تفویض کیا گیا ہے۔ گونج $ اعتراض؟>
- __invoke (): یہ طریقہ اس طبقے میں بیان کیا گیا ہے جسے کال کرنے کی تقریب میں کسی چیز کو کال کرنے کی کوشش کرتے ہوئے پکارا جائے گا۔
name = $ name $ this-> reg = $ reg $ this-> صنف = $ صنف} عوامی تقریب __invoke () cho گونج 'یہ ایک شے ہے'}} $ اعتراض = نیا طالب علم ('اشوک') // ابتدائی طور پر تفویض کیا گیا . $ اعتراض ()؟>
- __set_state ($ سرنی): یہ طریقہ ور_ ایکسپورٹ () پر کال کرتے ہوئے کہا جاتا ہے۔ یہ ایک مستحکم طریقہ ہے جس میں اشیا کی خاصیت کی صف کو برآمد کرتے ہوئے پیش کی جاتی ہے اور اس طرح کی صف کی متغیر کی توقع کی جاتی ہے۔
name = $ name $ this-> reg = $ reg $ this-> صنف = $ صنف}} $ اعتراض = نیا طالب علم ('اشوک') // ابتدائی طور پر تفویض کیا گیا ہے۔ var_export ($ اعتراض)؟>
شیف بمقابلہ جوابی بمقابلہ کٹھ پتلی
- __کلاون (): جب اس شے کی کاپی کی جائے تو یہ طریقہ کہا جاتا ہے۔
نام = $ نام $ اس-> ریگ = $ ریگ $ اس-> صنف = $ صنف} عوامی تقریب __ کلون () {ایکو __METHOD __. '۔ آپ اعتراض کو کلوننگ کر رہے ہیں۔ '}} $ اعتراض = نیا طالب علم (' اشوک ') // ابتدائی طور پر تفویض کیا گیا۔ $ اعتراض 2 = کلون $ اعتراض وار_ڈمپ ('آبجیکٹ 1:') ور_ڈمپ ($ اعتراض) گونج '' ور_ڈمپ ('آبجیکٹ 2:') ور_ڈمپ ($ اعتراض2)؟>
- __debugInfo (): اس طریقے کو var_dump () کہتے ہیں جب کسی شے کو ڈمپنگ کرتے ہوئے یہ پراپرٹیز حاصل کرنے کے ل. کہا جاتا ہے۔ اگر کسی شے پر اس طریقہ کی وضاحت نہیں کی گئی ہے ، تو پھر تمام عوامی ، محفوظ اور نجی خصوصیات کو دکھایا جائے گا۔
prop = $ val} عوامی تقریب __debugInfo () {واپسی ['propSquared' =>-this-> سہارا دینے ** 2،]} _ var_dump (نیا نمونہ (22 فیصد)؟>
اس کے ساتھ ، ہم پی ایچ پی آرٹیکل میں اس جادو کے طریقہ کار کو ختم کرنے کے لئے آئے ہیں۔ مجھے امید ہے کہ آپ کو پی ایچ پی میں جادو کے مختلف طریقوں کا اندازہ ہوگا۔
چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔
ہمارے لئے ایک سوال ہے؟ برائے کرم اس کا تذکرہ سیکشن میں ذکر کریں۔ میں جادو کے طریقے پی ایچ پی ”اور میں آپ کے پاس واپس آؤں گا۔