PHP-യിലെ നെയിംസ്‌പെയ്‌സ്

PHP OOP-ലെ സ്റ്റാറ്റിക് പ്രോപ്പർട്ടികൾ

PHP-യിലെ നെയിംസ്പേസുകൾ എന്തൊക്കെയാണ്?

PHP-യിലെ നെയിംസ്‌പേസുകളെ പ്രോഗ്രാമിന് രണ്ട് പ്രധാന പ്രവർത്തനങ്ങൾ നൽകുന്ന ക്വാളിഫയറുകൾ എന്നും വിവരിക്കുന്നു.

  1. നെയിംസ്‌പെയ്‌സ് ഉപയോഗിച്ച് ഒരേ സ്വഭാവത്തിലുള്ള ക്ലാസുകളെ ഒരൊറ്റ നെയിംസ്‌പെയ്‌സിലേക്ക് ഗ്രൂപ്പുചെയ്‌ത് കോഡ് ക്രമീകരിക്കുക.
  2. നെയിംസ്‌പെയ്‌സിൽ ഒന്നിലധികം ക്ലാസുകൾക്ക് ഒരേ പേര് ഉപയോഗിക്കാൻ നെയിംസ്‌പേസ് അനുവദിക്കുന്നു.

നെയിംസ്പേസുകളുടെ പൊതു ഉദാഹരണം

ഉദാഹരണത്തിന്, അടിസ്ഥാന ഗണിത പ്രവർത്തനങ്ങൾ DMAS (ഡിവിഷൻ, ഗുണനം, സങ്കലനം, കുറയ്ക്കൽ) നടത്തുന്ന ഒരു കൂട്ടം ക്ലാസുകൾ ഞങ്ങളുടെ പക്കലുണ്ട്. ഒരു ക്ലാസിലെ വിദ്യാർത്ഥികളുടെ ഫലം തയ്യാറാക്കുന്ന മറ്റൊരു കൂട്ടം ക്ലാസുകളും ഞങ്ങൾക്കുണ്ട്.

ഈ രണ്ട് സെറ്റ് ക്ലാസുകളെ രണ്ട് നെയിംസ്‌പെയ്‌സുകളായി ക്രമീകരിക്കാൻ നെയിംസ്‌പെയ്‌സ് ഞങ്ങളെ അനുവദിക്കുന്നു. ഒരു നെയിംസ്പേസിൽ ഗണിതവുമായി ബന്ധപ്പെട്ട ക്ലാസുകളും മറ്റൊന്നിൽ ഫല കണക്കുകൂട്ടൽ ക്ലാസുകളും അടങ്ങിയിരിക്കും.

നെയിംസ്പേസ് ഇറ്റ് പിഎച്ച്പി ആയി പ്രഖ്യാപിക്കുന്നത് എങ്ങനെ?

  • PHP സ്‌ക്രിപ്‌റ്റിന്റെ മുകളിൽ നെയിംസ്‌പെയ്‌സ് പ്രഖ്യാപിച്ചിരിക്കുന്നതിനാൽ അത് ഫയലിലുടനീളം ലഭ്യമാകും.
  • നെയിംസ്പേസ് കീവേഡ് നെയിംസ്‌പെയ്‌സുകൾ പ്രഖ്യാപിക്കുന്നതിനായി നീക്കിവച്ചിരിക്കുന്നു.

പദവിന്യാസം

// Declare a namespace maths:
namespace Maths;

കുറിപ്പ്: ഫയലിന്റെ മുകളിൽ നെയിംസ്പേസ് നിർബന്ധമായും പ്രഖ്യാപിക്കണം/ താഴെ പറയുന്ന കോഡ് തെറ്റായിരിക്കും.

<?php
echo "Hello PHP!";
namespace Maths;
...
?>

ഇപ്പോൾ, ഈ വിഷയത്തിന്റെ മറുവശം നോക്കൂ, അതാണ് നെയിംസ്പേസിന്റെ ഭാഗമായ ക്ലാസുകൾ. നമ്മൾ മാത്‌സ് ക്ലാസ് നെയിംസ്‌പേസിൽ ഡിക്ലെയർ ചെയ്യുന്ന ഒരു ഉദാഹരണ ക്ലാസായി എടുക്കുന്നു.

മാത്ത് നെയിംസ്പേസിൽ ഒരു ഡിവിഷൻ ക്ലാസ് ഉണ്ടാക്കുക

<?php
namespace Maths;
class Division {
  public function divide($numenator, $denominator) {
         $result = $numenator/$denominator;
         echo $result;
  }
}
$div= new Division();
?>

<!DOCTYPE html>
<html>
<body>

<?php
$div->divide(6, 3);
?>
</body>
</html>
  • മുകളിലുള്ള ഉദാഹരണത്തിൽ, ഞങ്ങൾ മാത്സ് നെയിംസ്പേസിൽ ഒരു ഡിവിസൺ ക്ലാസ് സൃഷ്ടിക്കുന്നു. എന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക നെയിംസ്പേസ് ഉപയോഗിക്കുക ഡിവിഷൻ ക്ലാസിന്റെ മുകളിൽ കീവേഡ് ഉപയോഗം. ഈ ഡിവിസൺ ക്ലാസ് മാത്‌സ് നെയിംസ്‌പെയ്‌സിന്റെ ഭാഗമാണെന്ന് ഇത് നിർവചിക്കുന്നു.
  • ഇപ്പോൾ, നമ്മുടെ കോഡിലെ മാത്‌സ് നെയിംസ്‌പെയ്‌സ് ഉപയോഗിച്ച് എവിടെനിന്നും ഡിവിഷൻ രീതി ആക്‌സസ് ചെയ്യാൻ കഴിയും.

നെസ്റ്റഡ് നെയിംസ്പേസുകൾ എങ്ങനെ പ്രഖ്യാപിക്കാം?

കോഡ് നെയിംസ്‌പെയ്‌സിനുള്ളിൽ മാത്‌സ് നെയിംസ്‌പെയ്‌സ് പ്രഖ്യാപിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക.

namespace Code\Maths;

പിഎച്ച്പിയിൽ നെയിംസ്പേസുകൾ എങ്ങനെ ഉപയോഗിക്കാം?

  • ഒരു നെയിംസ്പേസിൽ ഉൾപ്പെടുന്ന ക്ലാസിന് ഒബ്ജക്റ്റ് ആവശ്യമില്ല. നമ്മൾ ആക്‌സസ് ചെയ്യാൻ ആഗ്രഹിക്കുന്ന ക്ലാസിന്റെ നെയിംസ്‌പെയ്‌സ് ഉപയോഗിക്കുന്ന കോഡിലെ ക്ലാസ് അതിന്റെ ഉദാഹരണം സൃഷ്ടിക്കാതെ തന്നെ ആക്‌സസ് ചെയ്യാൻ കഴിയും.
  • നെയിംസ്‌പെയ്‌സിന് പുറത്തുള്ള ഒരു ക്ലാസ് ആക്‌സസ് ചെയ്യുന്നതിന്, അതിൽ നെയിംസ്‌പെയ്‌സ് അറ്റാച്ച് ചെയ്‌ത് നമുക്ക് അത് ചെയ്യാൻ കഴിയും.

ഉദാഹരണം

$div= new Maths\division()
$mul= new Maths\multiplication();

ഒരേ നെയിംസ്‌പെയ്‌സ് ഉപയോഗിക്കുന്ന നിരവധി ക്ലാസുകൾ ഉള്ളപ്പോൾ, മുകളിൽ പറഞ്ഞിരിക്കുന്നതുപോലെ അവ ആക്‌സസ് ചെയ്യുന്നതിന് പകരം നെയിംസ്‌പേസ് കീവേഡ് ഉപയോഗിക്കുന്നത് ലളിതമാണ്.

namespace Maths;
$div = new division();
$mul = new multiplication();

മുകളിലെ ഉദാഹരണത്തിൽ, കണക്ക്\ഡിവിഷൻ അല്ലെങ്കിൽ ഗണിതം\ഗുണന യോഗ്യത ഉപയോഗിക്കാതെയാണ് ഞങ്ങൾ ഹരിക്കലും ഗുണന ക്ലാസുകളും ആക്സസ് ചെയ്യുന്നത്.

നെയിംസ്പേസിനൊപ്പം അപരനാമം ഉപയോഗിക്കുന്നു

ഒരു നെയിംസ്പേസിന് ചില അപരനാമം (വിളിപ്പേര്) നൽകുന്നത് കോഡിനുള്ളിൽ എഴുതാൻ എളുപ്പമാണ്. നെയിംസ്‌പെയ്‌സ് ദൈർഘ്യമേറിയതോ വീണ്ടും വീണ്ടും എഴുതാൻ മടുപ്പിക്കുന്നതോ ആയപ്പോൾ ഇത് സഹായകരമാണ്.

ഉദാഹരണം

use Maths as M;
$div = new M\division();

PHP-യിലെ നെയിംസ്പേസുകളുടെ അവലോകനം ഔദ്യോഗിക PHP ഡോക്യുമെന്റേഷൻ.

PHP OOP-ലെ സ്റ്റാറ്റിക് പ്രോപ്പർട്ടികൾ
en English
X
ടോപ്പ് സ്ക്രോൾ