PHP இல் மேஜிக் முறைகள் என்ன? அவற்றை எவ்வாறு செயல்படுத்துவது?



இந்த கட்டுரை உங்களுக்கு எடுத்துக்காட்டுகளுடன் PHP இல் உள்ள பல்வேறு மேஜிக் முறைகள் பற்றிய விரிவான மற்றும் விரிவான அறிவை வழங்கும்.

இல் , சிறப்பு செயல்பாடுகளை அவை தானாக அழைக்கப்படும் வகையில் வரையறுக்கப்படலாம், மேலும் இந்த செயல்பாடுகளுக்குள் குறியீட்டை இயக்க எந்த செயல்பாட்டு அழைப்பும் தேவையில்லை. இந்த அம்சம் மேஜிக் முறைகள் எனப்படும் சிறப்பு முறையில் கிடைக்கிறது. இந்த கட்டுரையில், PHP இன் சிறந்த மேஜிக் முறைகள் பற்றி விவாதிப்போம்.

PHP இல் மேஜிக் முறைகள் என்ன?

2 அடிக்கோடிட்டு (__) உடன் தொடங்கும் முறைகள் பொதுவாக PHP இல் மேஜிக் முறைகள் என்று அழைக்கப்படுகின்றன. இந்த முறைகள் பெயர்கள் சில பட்டியலுடன் வரையறுக்கப்பட்டுள்ளன PHP முன்பதிவு செய்யப்பட்ட முக்கிய சொற்கள். எனவே எந்தவொரு செயல்பாடும் PHP மேஜிக் முறைகளின் பெயருடன் வரையறுக்கப்படக்கூடாது.





Magic-Methods-in-PHP

ஜாவாவில் ஒரு எரிப்பதை ஸ்கேன் செய்வது எப்படி

வழக்கமாக, இந்த செயல்பாடுகளை பயனரால் வரையறுக்க வேண்டும், அவற்றை வெளிப்படையாக அழைக்க வேண்டிய அவசியமில்லை.



PHP இல் மேஜிக் முறைகளின் பட்டியல்

  • __ கட்டமைத்தல் ()
  • __ கட்டமைத்தல் ()
  • __ அழைப்பு ($ வேடிக்கை, $ ஆர்க்)
  • __ கால்ஸ்டேடிக் ($ வேடிக்கை, $ ஆர்க்)
  • __get ($ சொத்து)
  • __ செட் ($ சொத்து, $ மதிப்பு)
  • __ ஐசெட் ($ உள்ளடக்கம்)
  • __ அன்செட் ($ உள்ளடக்கம்)
  • __தூங்கு()
  • __ விழிப்பு ()
  • __toString ()
  • __ இன்வோக் ()
  • __set_state ($ வரிசை)
  • __ குளோன் ()
  • __debugInfo ()
  • __ கட்டமைத்தல் (): இது ஒரு பொருளை உருவாக்கிய பிறகு தானாக அழைக்கப்படும் ஒரு முறை. எந்தவொரு வாதங்களையும் இங்கே வரையறுக்க முடியும், அவை பொருள்கள் உருவாக்கப்படும்போது அனுப்பப்படும்.
வர்க்க மாதிரி {செயல்பாடு user_def () {எதிரொலி 'பயனர் வரையறுக்கப்பட்ட கட்டமைப்பாளர்'} செயல்பாடு __construct () {எதிரொலி 'முன் வரையறுக்கப்பட்ட கட்டமைப்பாளர்'}} $ obj = புதிய மாதிரி ()?>

  • __ கட்டமைத்தல் (): டிஸ்ட்ரக்டர் என்பது பொருள் சார்ந்த மொழியின் பொதுவான அம்சமாகும், இது ஒரு குறிப்பிட்ட பொருளுக்கு வேறு குறிப்புகள் இல்லாதவுடன் தூண்டப்படும்.
user_def () // காசோலை பொருள் அழிக்கப்படுகிறது அல்லது எதிரொலி is_object ($ obj) இல்லை. ' '?>

  • __ அழைப்பு ($ வேடிக்கை, $ ஆர்க்): வரையறுக்கப்படாத அல்லது அணுக முடியாத முறை என்று அழைக்கப்படும் போது இந்த முறை அழைக்கப்படுகிறது. இதன் பொருள் ஒரு பொருளின் மீது வரையறுக்கப்படாத அல்லது அணுக முடியாத முறை பயன்படுத்தப்படும்போது அழைக்கப்படுகிறது.
run ('teacher') // இல்லாத முறை பொருளுக்குள் அழைக்கப்பட்டால், __ கால் () முறை தானாக அழைக்கப்படும். $ obj-> சாப்பிடு ('அசோக்', 'ஆரஞ்சு') $ obj-> user_define ()?>



  • __ கால்ஸ்டாடிக் ($ வேடிக்கை, $ ஆர்க்): வரையறுக்கப்படாத அல்லது அணுக முடியாத முறை நிலையான முறையில் செயல்படுத்தப்படும்போது இந்த முறை அழைக்கப்படுகிறது.
user_define ()?>

  • __get ($ சொத்து): PHP சொத்து ஓவர்லோடிங் மூலம் மாறும் வகையில் உருவாக்கப்பட்ட வர்க்க பண்புகளுக்கான மதிப்புகளைப் பெற இந்த முறை பயன்படுத்தப்படுகிறது.
name = $ name $ this-> reg = $ reg} பொது செயல்பாடு __get ($ propertyName) {if ($ propertyName == 'reg') {if ($ this-> reg> 30) {return $ this-> reg - 10} else {return $ this -> $ propertyName}} else {return $ this -> $ propertyName}}} $ obj = புதிய மாணவர் ('அசோக்', 60) // மாணவர் வகுப்போடு பொருளை நிறுவி ஆரம்ப மதிப்புகளை ஒதுக்கவும் கட்டமைப்பாளருடனான பண்புகளுக்கு. எதிரொலி 'பெயர் :'. $ obj-> பெயர். '' // தனியார் சொத்தை அணுகும்போது, ​​__get () முறை தானாக அழைக்கப்படும், எனவே நாம் சொத்து மதிப்பை மறைமுகமாகப் பெறலாம். எதிரொலி 'ரெக் :'. $ obj-> reg. '' // __get () முறை தானாக அழைக்கப்படுகிறது called மற்றும் அது பொருளுக்கு ஏற்ப வெவ்வேறு மதிப்புகளை வழங்குகிறது. ?>

  • __ செட் ($ சொத்து, $ மதிப்பு): PHP சொத்து ஓவர்லோடிங்கால் மாறும் வகையில் உருவாக்கப்பட்ட வர்க்க பண்புகளுக்கான மதிப்புகளை வைக்க இந்த முறை பயன்படுத்தப்படுகிறது.
name = $ name $ this-> reg = $ reg} public function __set ($ property, $ value) {if ($ property == 'reg') $ value $ property = $ value public function fun () {echo 'My பெயர் '. $ this-> பெயர்.', எனது பதிவு எண் '. $ this-> reg}} $ obj = புதிய மாணவர் (' அசோக் ', 40) // ஆரம்ப மதிப்பு குறியீட்டால் மாற்றப்படும் என்பதை நினைவில் கொள்க கீழே. $ obj-> name = 'சுஷ்மா' // 'பெயர்' சொத்து வெற்றிகரமாக ஒதுக்கப்படும். __Set () முறை இல்லை என்றால், நிரல் ஒரு விதிவிலக்கை எறியும். $ obj-> age = 16 // 'reg' சொத்து வெற்றிகரமாக ஒதுக்கப்படும். $ obj-> reg = 160 // 160 என்பது தவறான மதிப்பு, எனவே அது ஒதுக்கத் தவறிவிட்டது. $ obj-> வேடிக்கை ()?>

  • __ ஐசெட் ($ உள்ளடக்கம்); வரையறுக்கப்படாத அல்லது அணுக முடியாத உறுப்பினருக்கான வெளியீடு () அல்லது வெற்று () ஐ அழைக்கும் போது இந்த முறை அழைக்கப்படும். PHP வெளியீடு () செயல்பாட்டைப் பயன்படுத்துவதன் மூலம் தேவையான ஓவர்லோட் சொத்து அமைக்கப்பட்டுள்ளதா இல்லையா என்பதைச் சரிபார்க்கும்போது இது தானாகவே செயல்படுத்தப்படுகிறது.
name = $ name $ this-> reg = $ reg $ this-> பாலினம் = $ பாலினம்} பொது செயல்பாடு __ ஐசெட் ($ உள்ளடக்கம்) {எதிரொலி '{$ உள்ளடக்கம்} சொத்து தனிப்பட்டது __ izzisset () முறை தானாக அழைக்கப்படுகிறது. 'எதிரொலி வெளியீடு ($ இது -> $ உள்ளடக்கம்)}} $ obj = புதிய மாணவர் (' அசோக் ', 30) // ஆரம்பத்தில் ஒதுக்கப்பட்டுள்ளது. echo isset ($ obj-> பாலினம்), '' எதிரொலி வெளியீடு ($ obj-> பெயர்), '' எதிரொலி வெளியீடு ($ obj-> reg), ''?>

  • __ அன்செட் ($ உள்ளடக்கம்): வரையறுக்கப்படாத அல்லது அணுக முடியாத உறுப்பினருக்கு மீட்டமை () ஐ அழைக்கும் போது இந்த முறை அழைக்கப்படும்.
name = $ name $ this-> reg = $ reg $ this-> பாலினம் = $ பாலினம்} பொது செயல்பாடு __unset ($ content) {echo 'வகுப்பிற்கு வெளியே அமைக்காத () முறையைப் பயன்படுத்தும் போது இது தானாகவே அழைக்கப்படுகிறது. 'எதிரொலி வெளியீடு ($ இது -> $ உள்ளடக்கம்)}} $ obj = புதிய மாணவர் (' அசோக் ', 30) // ஆரம்பத்தில் ஒதுக்கப்பட்டுள்ளது. அமைக்காத ($ obj-> பாலினம்) அமைக்காத ($ obj-> பெயர்) அமைக்காத ($ obj-> reg)?>

  • __தூங்கு(): சீரியலைஸ் () ஐ இயக்கும்போது இந்த முறை முதலில் அழைக்கப்படுகிறது. இது வரிசைப்படுத்தலுக்கு முன் PHP வகுப்பு பொருள்களை சுத்தம் செய்வதில் பொருளின் சொத்து வரிசையை வழங்குகிறது.
name = $ name $ this-> reg = $ reg $ this-> பாலினம் = $ பாலினம்} பொது செயல்பாடு __ தூக்கம் () {எதிரொலி 'வகுப்பிற்கு வெளியே சீரியலைஸ் () முறை அழைக்கப்படும் போது இது அழைக்கப்படுகிறது. '$ this-> name = base64_encode ($ this-> name) return array (' name ',' reg ') // இது ஒரு மதிப்பைத் தர வேண்டும், அதில் உறுப்புகள் திரும்பிய பண்புகளின் பெயர். }} $ obj = புதிய மாணவர் ('அசோக்') // ஆரம்பத்தில் ஒதுக்கப்பட்டுள்ளது. echo serialize ($ obj) எதிரொலி ''?>

  • __ விழிப்பு (): தேசமயமாக்கல் () செயல்படுத்தப்படும் போது இந்த முறை அழைக்கப்படுகிறது. தேசமயமாக்கல் () ஐ செயல்படுத்துவதில் பொருள்களின் பண்புகள் மற்றும் வளங்களை மீட்டெடுப்பதற்கான வேலையை இது மாற்றியமைக்கும்.
name = $ name $ this-> reg = $ reg $ this-> பாலினம் = $ பாலினம்} பொது செயல்பாடு __ தூக்கம் () {எதிரொலி 'வகுப்பிற்கு வெளியே சீரியலைஸ் () முறை அழைக்கப்படும் போது இது அழைக்கப்படுகிறது. '$ this-> name = base64_encode ($ this-> name) return array (' name ',' reg ') // இது ஒரு மதிப்பைத் தர வேண்டும், அதில் உறுப்புகள் திரும்பிய பண்புகளின் பெயர். } பொது செயல்பாடு __ விழிப்புணர்வு () {எதிரொலி 'வகுப்பிற்கு வெளியே அன்ஸீரியலைஸ் () முறை அழைக்கப்படும் போது இது அழைக்கப்படுகிறது. '$ this-> name = 2 $ this-> பாலினம் =' ஆண் '}} $ obj = புதிய மாணவர் (' அசோக் ') // ஆரம்பத்தில் ஒதுக்கப்பட்டுள்ளது. var_dump (serialize ($ obj)) var_dump (unserialize (serialize ($ obj)))?>

  • __toString (): ஒரு பொருளை நேரடியாக அச்சிட எதிரொலி முறையைப் பயன்படுத்தும் போது இந்த முறை அழைக்கப்படும். PHP அச்சிடும் அறிக்கைகளுடன் வகுப்பு நிகழ்வுகளைப் பயன்படுத்தும் போது இது ஒரு சரம் மதிப்பைத் தரும் என்று எதிர்பார்க்கப்படுகிறது.
name = $ name $ this-> reg = $ reg $ this-> பாலினம் = $ பாலினம்} பொது செயல்பாடு __toString () {return 'go go go'}} $ obj = புதிய மாணவர் ('அசோக்') // ஆரம்பத்தில் ஒதுக்கப்பட்டுள்ளது. எதிரொலி $ obj?>

  • __ இன்வோக் (): இந்த முறை ஒரு வகுப்பில் வரையறுக்கப்படுகிறது, இது ஒரு பொருளை அழைக்கும் செயல்பாட்டில் அழைக்க முயற்சிக்கும்போது அழைக்கப்படும்.
name = $ name $ this-> reg = $ reg $ this-> பாலினம் = $ பாலினம்} பொது செயல்பாடு __invoke () {எதிரொலி 'இது ஒரு பொருள்'}} $ obj = புதிய மாணவர் ('அசோக்') // ஆரம்பத்தில் ஒதுக்கப்பட்டது . $ obj ()?>

  • __set_state ($ வரிசை): Var_export () ஐ அழைக்கும் போது இந்த முறை அழைக்கப்படுகிறது. இது பொருள்களின் சொத்து வரிசையை ஏற்றுமதி செய்யும் போது செயல்படுத்தப்படும் ஒரு நிலையான முறையாகும், மேலும் அத்தகைய வரிசை மாறியை அதன் வாதம் என எதிர்பார்க்கிறது.
name = $ name $ this-> reg = $ reg $ this-> பாலினம் = $ பாலினம்}} obj = புதிய மாணவர் ('அசோக்') // ஆரம்பத்தில் ஒதுக்கப்பட்டுள்ளது. var_export ($ obj)?>

  • __ குளோன் (): பொருள் நகலெடுக்கப்படும்போது இந்த முறை அழைக்கப்படுகிறது.
name = $ name $ this-> reg = $ reg $ this-> பாலினம் = $ பாலினம்} பொது செயல்பாடு __ குளோன் () {எதிரொலி __METHOD __. 'நீங்கள் பொருளை குளோன் செய்கிறீர்கள். '}} $ obj = புதிய மாணவர் (' அசோக் ') // ஆரம்பத்தில் ஒதுக்கப்பட்டுள்ளது. $ obj2 = குளோன் $ obj var_dump ('object1:') var_dump ($ obj) எதிரொலி '' var_dump ('object2:') var_dump ($ obj2)?>

  • __debugInfo (): காண்பிக்கப்பட வேண்டிய பண்புகளைப் பெற ஒரு பொருளைக் கொட்டும்போது இந்த முறை var_dump () ஆல் அழைக்கப்படுகிறது. ஒரு பொருளில் முறை வரையறுக்கப்படவில்லை என்றால், அனைத்து பொது, பாதுகாக்கப்பட்ட மற்றும் தனியார் பண்புகள் காண்பிக்கப்படும்.
prop = $ val} பொது செயல்பாடு __debugInfo () {திரும்ப ['propSquared' => $ this-> prop ** 2,]}} var_dump (புதிய மாதிரி (22))?>

இதன் மூலம், PHP கட்டுரையில் இந்த மேஜிக் முறையின் ஆண்டு முடிவுக்கு வருகிறோம். PHP இல் உள்ள பல்வேறு மேஜிக் முறைகள் பற்றி உங்களுக்கு ஒரு யோசனை கிடைத்தது என்று நம்புகிறேன்.

பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால்.

ஜாவாவில் ஆழமான நகலை உருவாக்குவது எப்படி

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து கருத்துரைகள் பிரிவில் குறிப்பிடவும் இல் மேஜிக் முறைகள் PHP ”நான் உங்களிடம் திரும்பி வருவேன்.