DEV Community

Cover image for Traits in php--bible perspective
Chidiebere Chukwudi
Chidiebere Chukwudi

Posted on • Originally published at jovialcore.tech

Traits in php--bible perspective

What are traits in php ?

Traits solves the problem where php classes can't inhrerit behaviours or use properties, methods, etc from other classes except the parent class it extends to.

Traits in php makes a class have access to methods, properties in othe classes.
Let's use the bible story to elaborate this: We are not native isrealites so by default we as gentile class can't have any inheritance with the jews. But traits (Jesus Christ ) has come to bridge this gap. Take for example :

The child class, isrealites extends (inherits) from the parent class, God

class isrealites extends God {
}

Enter fullscreen mode Exit fullscreen mode

Gentile class (actually, Gentile Nation) wants to have access to the abrahamic promises but can't. Then Jesus Christ came in for us --Traits !

So create a trait class:

trait JesusChrist {

public function salvationPromise() {
echo "the promise is unto you and to your children, children";
}

public function prosperityPromise() {
echo "I will above all things that thou mayeth prosper even as thy soul prospereth ";
}

public function freedomFromSin() {
echo "If the son shall make you free, you shall be free indeed";
  }
}
Enter fullscreen mode Exit fullscreen mode

For gentiles to use this trait as well inherit all the promises, we provide a "Jesus Trait" for them.

// ....
class Gentiles {
    use JesusChrist;
}

$gentile  = new Gentiles();

//pick one promise 
echo $gentile-> freedomFromSin();

Enter fullscreen mode Exit fullscreen mode

A full code will look like this:


trait JesusChrist {

public function salvationPromise() {
echo "the promise is unto you and to your children, children";
}

public function prosperityPromise() {
echo "I will above all things that thou mayeth prosper even as thy soul prospereth ";
}

public function freedomFromSin() {
echo "If the son shall make you free, you shall be free indeed";
  }
}

class Gentiles {
    use JesusChrist;
}


$gentile  = new Gentiles();

//pick one promise 
echo $gentile-> freedomFromSin();
Enter fullscreen mode Exit fullscreen mode

Traits are used to access methods and properties that extend the capabilities of a class.

More resources to learn from PHP DOC

Retry later

Top comments (2)

Collapse
 
wesllycode profile image
wesllycode

Very nice.

Collapse
 
jovialcore profile image
Chidiebere Chukwudi

Thank you so much for reading

Retry later
Retry later