Late Static Bindings

The self keyword does not follow the same rules of inheritance. self always resolves to the class in which it is used. This means that if you make a method in a parent class and call it from a child class, self will not reference the child as you might expect.


<?php

class Php{

	public static function framework(){

		echo static::getClass()."<br/>";

	}

	public static function getClass(){

		return __CLASS__;
	}
}

class ChildPhp extends Php{

	public static function getClass(){

		return __CLASS__;
	}
}


$php = new php;
$php->framework();


$childphp = new ChildPhp;
$childphp->framework();

Constant

A constant is declared with the const keyword followed by a name (is not prefixed with a dollar sign like properties).
Syntax: const CONSTANT_NAME
The main difference between properties and constants is that the constant value cannot be changed once it is set.


<?php

/**
 * Area	= π r2
 */

// Procedural way constant define
// define("CONSTANT_NAME", 'value');

class Circle {

	const PI = 3.1415;

	public function area($radius){

		return $radius * $radius * self::PI;
	}
	
}

$circle = new Circle;
echo $circle->area(5);

Static in PHP

Static properties and methods in php can directly accessible without creating object of class. You can declare static property and method using static keyword.

<?php

class User{

	public static $name;

	static function getName(){

		self::$name = "Ataur Rahman";
	}
}

User::getName();
echo User::$name;

PHP Inheritance

It allows you to create a new class that reuses the properties and methods from an existing class. A class that inherits from another class is called subclass (also a child class).


<?php

class Fruits{

	public $name;

	public function setName($name){
		$this->name = $name;
	}
}

class Apple extends Fruits{

	function juice(){
		echo "Juice <br/>";
	}
}


class Mango extends Fruits{

	
}

$apple = new Apple();
$apple->juice();
$apple->setName("My Apple");
echo $apple->name;

echo "<br/>";

$mango = new Mango();
$mango->setName("My Mango");
echo $mango->name;

Type Hinting

You can specify what type of data expected in a function declaration. It could be Array type, int type, object type data.

<?php

class Book{

	public $price;
	public $authors;

	function getPrice(int $price){

		$this->price = $price;

	}

	function Authors(array $name){

		$this->authors = $name;

	}
}

$book = new Book;
$book->getPrice(100);
echo $book->price;

echo "<br/>";

$book->Authors(['Araf','Jahir']);
print_r($book->authors);

Abstract Class

An abstract class cannot be instantiated. In other words, it is not allowed to create a new instance of an abstract class. An abstract class can contain properties and methods.

<?php

abstract class Student{

	public $name;
	public $age;

	public function details(){

		return "My name is ".$this->name.". I am ".$this->age." years old <br/>";
	}

	abstract public function book();
}


class Boy extends Student{

	function describe(){

		return	parent::details()." and I am a college student <br/>";
	}

	public function book(){

		return "I like to read story book";
	}
	
}

$boy = new Boy;
$boy->name = "Faruk";
$boy->age = 18;
echo $boy->describe();
echo $boy->book();

PHP Interface

An interface consists of methods that contain no implementation. In other words, all methods of the interface are abstract methods. A class can only inherit from one class whereas a class can implement one or more interfaces.All the methods in the interface must have public visibility level

<?php

interface Java{

	public function JavaCoder(); 
}

interface Php{

	public function PhpCoder(); 
}

interface Python{

	public function PythonCoder(); 
}

class Programmer implements Java,Php,Python{

	function __construct(){

		$this->JavaCoder();
		$this->PhpCoder();
		$this->PythonCoder();
	}

	function JavaCoder(){
		echo "I am a Java Coder <br/>";
	}

	function PhpCoder(){
		echo "I am a Php Coder <br/>";
	}

	function PythonCoder(){
		echo "I am a Python Coder";
	}

}

new Programmer();

Method Chaining

When many methods are called in a single instruction, in PHP’s term it is called Method Chaining. Obviously you have to return object instance.

<?php

class Resturant
{

    public $dinner     = 20;
    public $dessert    = 6;
    public $coldDrinks = 3;
    public $bill;

    public function dinner($person)
    {

        $this->bill += $this->dinner * $person;
        return $this;
    }

    public function dessert($person)
    {

        $this->bill += $this->dessert * $person;
        return $this;
    }

    public function coldDrinks($person)
    {

        $this->bill += $this->coldDrinks * $person;
        return $this;
    }

}

$obj = new Resturant();
echo $obj->dinner(1)->dessert(1)->coldDrinks(1)->bill;


রিফ্রেশমেন্ট হিসেবে ফেসবুকে ঢুকি

দুই-তিন ঘণ্টা টানা পড়াশোনা করার পর রিওয়ার্ড বা রিফ্রেশমেন্ট হিসেবে ফেসবুকে ঢুকি। ফেসবুকে আসলে কী থাকে? কে বিয়ে করল, কে বিরিয়ানি রান্না করল, কে বেড়াতে গেল, কার ছবিতে কে কি কমেন্ট করলো, সেই সব পোস্ট আর ছবি। এই যে, আমাদের মস্তিষ্ক এতক্ষণ ধরে যে পড়াশোনা করেছে সেটা ঘুমের মাধ্যমে মস্তিষ্কে স্মৃতিতে জমা হয়। কিন্তু ঘুমানোর আগে এই যে, কে হানিমুন করল, কার বাচ্চা হলো বা কে কক্সবাজারের ছবি দিল, এই সব দেখে ঘুমাতে গেলে মস্তিষ্ক শেষ এবং ঘুমের ঠিক আগের কার্যক্রমগুলো সারা রাত ঘুমের মধ্যে প্রসেস করে বা স্টোর করে। পরদিন যদি পরীক্ষা থাকে তাতে আমরা এ রকম অনুভব করি যে, ধুর গতকাল রাতেই না পড়লাম, এখন মনে পড়ছে না কেন? নিজেরা হীনমন্যতায় ভাবতে থাকি আমার স্মৃতি খুব খারাপ কিছুই মনে থাকে না। কিন্তু আসলে তা নয়। তাহলে মিতা রিতার বিয়েতে কী রঙের লেহেঙ্গা পড়েছিল, সেই স্কুলে ছোটবেলায় বন্ধুদের সঙ্গে কী করেছেন সেটা কীভাবে মনে থাকে?

পড়াশোনার সঙ্গে কল্পনা বা ইমাজিনেশনের সংযোগ থাকলে পরবর্তীতে মনে রাখা সহজ। এ জন্যই গ্রুপ স্টাডিতে মনে রাখা সহজ একা একা দরজা বন্ধ করে পড়ার থেকে। মস্তিষ্ক ও স্মৃতিশক্তির কার্যক্ষমতাকে বাড়াতে ও ঠিকঠাক ধরে রাখতে খুব ভালো ফ্রেশ ঘুম দিয়ে উঠলে যেরকম ভালো অনুভূতি হয়, সেটা রাত তিনটা অবধি জেগে থেকে কখনো হতে পারে না। এ জন্যই গুরুজনরা বলেছেন: early to bed and early to rise makes a man healthy wealthy and wise

অন্ধকার ঘরের মোবাইলের নীল আলো যেটা মেলাটনিন হরমোনের সঙ্গে মস্তিষ্ককে দিনের আলোর মতো অনুভূতি দেয়। যে কারণে কাগজের বই পড়তে গেলেই ঘুম আসে, ক্লান্ত লাগে। কিন্তু মোবাইলের নীল আলোতে সারা রাত স্ক্রিনের দিকে তাকিয়ে কোনো কিছু পড়লে বা দেখলে ঘুম আসে না। বরং ঘুম পালিয়ে যায়।

ফেসবুকে কে চাকরি পেল সেই পোস্ট থাকলেও, কে ফেল করল সেই পোস্ট থাকে না। জামাই বউয়ের হানিমুনের রোমান্টিক ছবি থাকে। কিন্তু কতবার ঝগড়া করে সেই ছবি থাকে না। এতে নিজদের ভেতর একটা দুঃখ অনুভূত হতে থাকে। যে সবাই কত কী করে, কত জায়গায় বেড়াতে যায়, কত কী খায়, কিন্তু আমার লাইফ কত বোরিং। কিন্তু বাস্তবতা হলো, যিনি খুব একটা সুখী সুখী ইমেজ ফেসবুকে দিয়ে রাখেন, তিনি হয়তো খুব ভালো অভিনয় করেন। আসলে তিনি সুখী না, বরং আপনি অনেক ভালো আছেন। যাই হোক, এ রকম একটা দুঃখী দুঃখী অনুভূতি বা মন খারাপ ঘুমের জন্য সুখকর নয়। ফলে ঘুমের আগে মস্তিষ্ক অবচেতনে ইনার চ্যাট শুরু করে নিজের চাওয়া পাওয়া নিয়ে।

স্মার্টফোনের ইতিবাচক সব দিক আমরা সবাই জানি। নেতিবাচক দিকগুলো বেশির ভাগ ক্ষেত্রেই অগ্রাহ্য করি। এভাবে আমাদের এনার্জি, মনোযোগ, সময়, স্মৃতি, মনে রাখার ক্ষমতা সব বিচ্ছিন্ন বিক্ষিপ্ত ক্লান্ত হয়ে আমাদের কার্যকারিতা বা প্রোডাকটিভিটি কমে যাচ্ছে।

শিশুদের মানুষিক বিকাশে এর যেমন নেতিবাচক প্রভাব ফেলে তেমনি বড়দের জীবনে এই নেশা সিগারেট বা আফিমের থেকে ক্ষতি কম নয়।

উৎস: প্রথম আলো