dos cositas antes q nada
1.- los nombres de las funciones no admiten espacios ergo deberia de ser $this->funcionx();
2.- si la funcion hacer_x() esta definida dentro de un objeto es totalmente licito usar el $this->funcionx() dentro de ella siempre y cuando desde donde llames a hacer_x() sea una instancia de la clase (un objeto)
llamar funcines dentro de funciones es total y absolutamente posible y correcto y lo mismo sucede con los metodos de las clases, te dejo un pequeño ejemplo para dejarlo mejor ilustrado
Código PHP:
class A {
public function __construct($valor1,$valor2){
$this->v1=$valor1;
$this->v2=$valor2;
}
public function mostrarMayor(){
if($this->v1Mayorquev2()){
return $v1;
}elseif($this->v2MayorQueV1()){
return $v2;
}else{
return son iguales!";
}
}
private function v1Mayorquev2(){return $this->v1 > $this->v2;}
private function v2Mayorquev1(){return $this->v2 > $this->v1;}
}
$a=new A(2,5);
echo mostrarMayor(); //imprimiendo 5
espero que la explicacion y el ejemplo te aclaren el panorama :)