Boa noite galera, tudo bom?
Recentemente tentei aplicar alguns conceitos e padrões de projeto que utilizo em C#.NET e infelizmente não obtive o mesmo resultado em php.
O ponto que tem deixado a desejar, pelo ao menos nas versões estáveis do php, é a falta de tipagem p/ retorno de métodos em php.
Por exemplo, se você quer criar um método e dizer qual o tipo de retorno de dados dele, não é possível.
Exemplo:
private String obterTituloTexto() { /* ... */ }
O que consegui fazer foi criar uma classe abstrata (que contém métodos que posso chamar ou não), que contém um método que faz uma chamada para um método em específico de uma classe derivada e eu já especifico qual o tipo de retorno de dados quando chamo esse método, mas dessa maneira eu tenho sempre que especificar qual o tipo de retorno de um método, quando estou chamando ele através da classe abstrata.
Resumindo
A definição do tipo de retorno de um método é possível, mas não da maneira convencional que utilizada na maioria das linguagens de programação orientadas a objetos, além de acrescenta diversas linhas de código.
Do meu ponto de vista, PHP, apesar de ser uma linguagem de programação de tipagem dinâmica, em alguns casos, facilitaria a manutenção e reusabilidade de código-fonte se a linguagem fosse fortemente tipada.