Aclaración de operador ternario PHP

Uso el operador ternario con bastante frecuencia, pero no he podido encontrar nada en la documentación sobre esto y siempre me lo he preguntado.

El siguiente es un posible ejemplo:

echo ($something->message ? $something->message : 'no message');

como puede ver, si $ something-> message es correcto, devolvemos $ something-> message, pero ¿por qué escribirlo dos veces? ¿Hay alguna manera de hacer algo como:

echo ($something->message ? this : 'no message');

Ahora que no conozco bien la teoría de la programación, es posible que haya una razón por la cual no se puede hacer referencia al primero con algome gusta "esto" pero ¿por qué no? ¿No se aplicaría esto al uso del operador ternario? Para algo como mi ejemplo es bastante inútil, pero digamos que es

echo (function(another_function($variable)) ? function(another_function($variable)) : 'false');

No puedo encontraralguna forma de hacerlo, así que supongo que no es posible, si me equivoco, infórmeme, de lo contrario: ¿por qué no? ¿Por qué esto no es posible? ¿Cuál es la razón técnica o es algo que nunca sucedió? ¿Debería declararlo como una variable y luego probarlo con esa variable?

Respuestas a la pregunta(1)

Su respuesta a la pregunta