Supposons que cette classe:appel automatique d'une méthode dans plusieurs autres méthodes dans une classe en PHP
<?php
namespace app;
class SimpleClass {
protected $url = '';
protected $method = 'GET';
public function __construct($url, $method = 'GET')
{
$this->url = $url;
$this->method = $method;
}
public function get()
{
$this->prepare_something();
// other things...
}
public function post()
{
$this->prepare_something();
// other things...
}
public function patch()
{
$this->prepare_something();
// other things...
}
public function put()
{
// other things...
}
public function delete()
{
// other things...
}
protected function prepare_something()
{
// preparing...
}
Comme vous pouvez le voir dans trois méthodes de cette classe; get, post, patch
nous utilisons la méthode preparing_something
mais dans les méthodes put, delete
nous ne le faisons pas.
J'ai dû répéter 3 fois $this->prepare_something();
. Une fois dans ces 3 méthodes get, post, patch
. C'est 3 lines
le même appel au début de ces 3 méthodes.
Mais imaginez que nous avons 100 méthodes.
Dans 70 d'entre eux, nous utilisons $this->prepare_something();
et dans 30 nous ne le faisons pas.
Y a-t-il un moyen de auto-call
ces méthodes dans ces 70 méthodes? Sans écrire dans chacune de ces 70 méthodes $this->prepare_something();
?
Il est juste la douleur et il ne se sent pas bien d'avoir à appeler tout le temps la même méthode $this->prepare_something();
dans certaines méthodes ...