İlkinur Kərəmli

profile-pic
PHP

PHP OOP ( Obyekt Yönümlü Proqramlama)-ya giriş.

18 sentyabr 2020

PHP də OOP yəni obyekt yönümlü proqramlamadan bəhs edəcəm. Ümumilikdə fikrim varki proqramçılar xüsusilə backend sahəsi üzrə özlərini inkişaf etdirmək istəyən developerlərə öz təcrübələrimdən paylaşım, həmdə zaman zaman texnologiyaları dəyişdirdikdə bəzən bunlar mənimdə yadımdan çıxır və bu paylaşımlarla artıq gələcəkdə yadımdan çıxan hissələri bu bloqları təkrarən oxuduqda xatırlayacam. Yəni bloqları yazmaqda elə əsas səbəbim bunları əl kitabı kimi istifadə etməkdir həm özüm həm də digər proqramçılar üçün. Və artıq qayıdaq mövzumuza.

PHP də OOP çox əvvələrə deyil PHP 5 dən  sonraya məxsusdur. Yəni əvvəlki veriyalarında obyekt yönümlülük olmayıb. Burdanda anlaya bilərsiniz ki OOP PHP də çox dərin struktura malik deyil. Bunu deməyimin səbəbi digər OOP yönümlü dillərdən strukturca daha sadə olması və onlar qədər çox funksionallığa malik olmamasıdır. Bu dediklərimi diqqətlə oxuyun çünki hər bir dedyimin izzahını ya bu yada digər bloqlarımda açıqlayacam. Və mümkün qədər bəzi terminləri ingilis dilində deyəcəm ki sizdə bu şəkildə görərək ağlınızda saxlaya biləcəksiniz.

OOP PHP də siniflər (class) şəklində təyin olunur və içərisində dəyişənlərlə metodlar ( funksiyalar) saxlayır. Beləcə qurulmuş sinifləri bir plan kimi düşünün. Yəni planları qurub fərqli yerlərdə istifadə etmək üçün hazır edirik. Bunu istifadə edərkəndə bu sinifdən obyektlər yaradırıq və orada qurduğumuz planlar əsasında onları istifadə edirik. Deyə bilərsiniz ki niyə OOP dan istifadə etməliyik bu vacibdirmi ? Əlbətdəki xeyir. Siz necə istəsəniz o şəkildə kodlarınızı funksiyalarınızı qurub onları istifadə edə bilərsiniz. Ancaq özünüzü inkişaf etdirdikcə görəcəksiniz ki eyni funskiyaları təkrar təkrar yazmaq eyni kodları təkrar təkrar kopyalayıb istifadə edərək kod sıxlıqı yaradacaqsınız və zamanla öz yazdıqınız proyektləri başa düşə bilməyəcəksiniz. Buna görə ən effektiv üsul OOP dan istifadə etmədir. Beləcə müəyyən struktura malik siniflər təyin edərək onlardan proyektlərinizdə istifadə edərək həm kod sıxlığını aradan qaldırmış olacaqsınız həm də bu yazdığınız proyektləri daha anlaşıqlı olmasına nail olacaqsınız. Bütün böyük layihələr OOP üzərindən qurulur beləcə orada olan xüusiyyətləri inkişaf etdirmək dəyişdirmək və xətaları tapmaq çox asand olur.

Siniflərin Quruluşu

Siniflər :

class sinifadi  {

}

deyilərək qurulur.

Bu siniflərin obyektləri 

$oybekt = new sinifadi();

deyərək yaradılır. Beləcə əslində biz yaddaşda yeni bir dəyikən yaratmış oluruq və bu dəyişkən sinifin metod və dəyişkənlərinə sahib olmuş olur. beləcə biz bu obyekt üzərindən həmin metod və dəyişkənlərə müraciət edə bilərik.

Siniflərin metod və dəyişənləri 3 tip özəllik alır. Bunlar 

  • public
  • private
  • protected

Public

Bu özəllik ilə təyin olunmuş dəyişən və metoda hər yerdən müraciət etmək mümkündür.

Misal:

<?php

class programci

{

    public $ad'İlkin';

 

    public function adiOxu()

    {

        echo $this->ad;

    }

}

 

$programci new programci;

echo $programci->ad; //dəyişkənə də müraciət edə bilirik

$programci->adiOxu(); //metoda da müraciət edə bilirik

?>

Private

Bu özəllik ilə təyin olunmuş dəyişən və metoda sinifdən kənar müraciət etmək mümkün deyil. Ancaq sinif içindən metodlarla müraciət etmək mümkündür.

Misal:

<?php

class programci

{

    private $ad'İlkin'//Bu dəyişkənə birbaşa $programci->ad deyərək müraciət edə bilmərik

 

    public function adiOxu() //$ad dəyişkəninə müraciət etmək üçün istifadə ediləcək metod

    {

        echo $this->ad;

    }

}

 

$programci new programci;

$programci->adiOxu();

?>

Protected

Protected da private kimidir ancaq private de extend edilən sinifin private metod və dəyişənlərinə müraciət etmək olmur ancaq protected da bunları etmək olur. Tək fərqi buradadır.


Ardı sonrakı bloqlarda olacaq...



Mesaj qoy