• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Nazgulled

Aplicação completa usando técnincas de POO à semelhança de Java/C#

5 mensagens neste tópico

Para uma certa aplicação que estou a fazer queria usar técnicas de POO mas não apenas para uma ou outra classe.

Por exemplo, Java ou C#. Tudo são classes e existe um ponto de partida que é o método estático main(). Em PHP isto não existe, o PHP não força a que tudo sejam classes e que o código esteja todo dentro de classes mas é exactamente isso que eu quero fazer. Mas não tenho a certeza de como o fazer.

Como é que sugeriam simular algum tipo de método main como em Java/C# de forma que seja o ponto de partida da aplicação e forçar o uso de classes para cada pedaço de código?

Eu tinha pensado numa solução já há algum tempo e hoje até estive a discutir isso com o tirácio, mas depois lembrei-me de outra alternativa que vou postar aqui porque gosto mais e parece-me melhor e nem vou mencionar a outra porque era simplesmente estúpida.

A minha ideia é esta:

<?php

class Program {
    public static function Main() {
        echo "INIT";
    }

}

Program::Main();

?> 

O que acham? O que têm a dizer sobre este assunto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho bem, é simples e serve para o que tu queres, no fim só ficas com a ultima linha fora das classes (para começar a correr a aplicação).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para o que queres fazer, parece-me o suficiente, já que não vais precisar de um módulo mais que uma vez por execução, pelo que não vale a pena guardar um instancia da class. Bem pensado. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim que comecei a ler o teu post, foi apenas dessa solução que me lembrei. Que outra(s) tinhas em mente?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só tinha mais uma... Só não era estático e depois em vez de fazer uma chamada estática ao Main estava a fazer "new Program();" e em vez do Main tinha o __constructor definido.

Mas esta solução parece-me mais lógica e mais limpa. Eu juro que não sei como é que isto nunca me passou pela cabeça antes... Se calhar é porque PHP sempre foi um bocado mau em POO e eu nunca olhei para o PHP com olhos de POO como o faço quando olho para C# ou Java.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora