PHP-তে OOP-এ প্রাইভেট মেথড

শুধুমাত্র প্রপার্টি নয়, মেথডও প্রাইভেট হতে পারে। সাধারণত হেল্পার মেথডগুলোকে প্রাইভেট করা হয় যাতে তারা ক্লাসের বাইরে থেকে Accidentally কল করা না যায়।

আসুন একটি উদাহরণ দিয়ে দেখি। ধরুন আমাদের নিম্নলিখিত ক্লাস আছে:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->name;
    }
  }
?>

এই ক্লাসে একটি প্রাইভেট মেথড তৈরি করা যাক, যেটি একটি স্ট্রিং প্যারামিটার হিসেবে নেবে এবং এর প্রথম অক্ষর বড় হাতের করবে:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->name;
    }
    
    private function cape($str) {
      return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
    }
  }
?>

আসুন আমাদের হেল্পার মেথডটি অন্য আরেকটি মেথডের ভিতরে ব্যবহার করি:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->cape($this->name);
    }
    
    private function cape($str) {
      return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
    }
  }
?>

আসুন পরীক্ষা করে দেখি। আসুন আমাদের ক্লাসের একটি অবজেক্ট তৈরি করি:

php<?php
  $user = new User('john');
?>

পাবলিক মেথডটি কল করা যাক, যেটি হেল্পার মেথডটি ব্যবহার করে:

php<?php
  echo $user->show();
?>
Задание 1

নিম্নলিখিত কোডে হেল্পার মেথডটি প্রাইভেট করুন:

php<?php
  class Employee {
    public function __construct($name, $salary) {
      $this->name = $name;
      $this->salary = $salary;
    }
    
    public function getSalary() {
      return $this->addSign($this->salary);
    }
    
    public function addSign($num) {
      return $num . '
;
    }
  }
?>