Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kelven

Peso de classes

Recommended Posts

Ola gente,

Tenho duas duvidas uma tem a ver com php outra não,

bem a primeira é a respeito de classes em php oop

Suponhamos que eu tenha dois sites feitos com php oop. Um desses sites todas as classes estão em um unico arquivo .php chamado, todas_as_classes.php e as outras paginas só chamam esse arquivo como vocês sabem. E no outro site as classes estão dividas em arquivos, como por exemplo, class_seleção.php, class_alteração.php, class_deletar.php, e assim vai. Pois bem a pergunta é, qual dos dois sites irá demorar a carregar mais quando for aberto por um visitante, eu primeiro pensei que seria o primeiro porque todas as classes estão em um unico arquivo ai o computador faria a leitura de um arquivo maior, mas depois também pensei que fosse o segundo por ter varios arquivos, ai então fiquei em dúvida, vocês podem me falar qual dos dois sites irá demorar mais para abrir?

 

A segunda dúvida é sobre certificado ssl, olhem esse site, http://www.hardware.com.br/dicas/mercado-ssl.html

nele no começo da matéria eles explicam como gerar um certificado ssl você mesmo, porém minha dúvida é, eu tenho que colocar aqueles códigos aonde, tipo no bloco de notas? e se for no bloco de notas eu tenho que salvar com que formato? .ssl? e por ultimo eu tenho que colocar o arquivo salva em que pasta no meu servidor? Na pasta onde ficam os arquivos http ou aonde ficam os arquivos https?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Respondendo a 1° dúvida a diferença de tempo entre o site com todas as classes juntas e outro separada e quase nula. existe sim, mas e irrelevante.

 

recomendo sempre usar arquivos separados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um entendo, é minima então a diferença, a questão de fazer separado que você recomenda é pela organização ou tem alguma coisa a mais?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Discordo desta afirmação de que a diferença no tempo de carregamento é irrelevante. Tudo depende do tamanho deste arquivo todas_as_classes. Se o arquivo for muito grande (5000 linhas, por exemplo), vai demorar um tempo razoável. Se estiverem em arquivos separados, o PHP só vai ler o que for necessário.

 

Crie um arquivo para cada classe, trabalhando com padronização de diretórios/nomes de arquivos/nome das classes e utilize spl_autoload() para fazer o autoload da classe antes de usar.

 

Sugiro também uma lida nos tópicos do curso de PHP OO, ministrado pelo João Batista.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já havia pensado nessa possibilidade.

 

Cheguei até a criar um compiler para pegar tooooodas as classes do sistema e criar um único arquivo, imaginando que "se tenho menos arquivos a serem carregados pelo meu AutoLoad, o desempenho será melhor".

 

Ledo engano. Foi bem imperceptível, coisa de milisegundos. Joguei a classe fora (não devia ter feito isso) e segui meu rumo.

 

Agora, estendendo um pouco mais o assunto, eu é que queria saber.

 

Imaginando um sistema desenvolvido todo Orientado a Objetos, seguindo padrões dos mil tipos, classes, interfaces e etc. Teria esse tipo de sistema algum tipo de deficiência em relação à performance, se comparado à outro mais "humilde"?

 

Assim, se estiver Orientado a Objetos, mas os módulos (nomeemos assim) e estiverem tão "amarrados" à várias classes, o AutoLoad trabalharia um bocado a mais do que se alguns padrões tivessem sido negligenciados em prol de algo mais sucinto.

 

Pensem, se uma única classe faz o serviço, com um código limpo e organizado, mas "peca" por estar tudo junto, não teria performance melhor do que outra que faz a mesma coisa, mas usa e abusa de classes concretas, abstratas, interfaces e tudo o mais?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Bruno, ai a pergunta que cabe é:

 

Vale a pena sacrificar facilidade de manutenção, organização e padronização em prol de um pouco de performance?

Se vale, ai precisamos mensurar: 'o quanto vale' ?

 

um sistema simples bem escrito de forma estruturada, possui muito menos código do que um equivalente em OO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É bem aí que eu queria chegar.

 

Então essa perda de performance existe realmente? Jamais eu sacrificaria a minha estrutura e padronização (e a minha sanidade) por juntar tudo à torto e à direito.

 

Sei que, nas vias de fato, essa perda é muito pequena, mas sempre tive essa curiosidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

O PHP é uma linguagem interpretada, isso significa que sim, haverá uma perda de desempenho, mesmo que pequena, quando vários arquivos são utilizados.

 

O motivo é simples, para cada novo arquivo, uma nova instrução é adicionada à pilha para que seja feito o carregamento.

 

Agora....

 

A perda é grande o suficiente para justificar a bagunça, perda de legibilidade e, principalmente, a dificuldade de manutenção do código ?

 

A resposta é tão simples quanto o motivo da perda: NÃO

 

Nada justifica misturar tudo em um único arquivo com milhares de linhas de código.

 

Por padrão, extraindo-se o comentário do código, se seu arquivo tiver mais do que 50 linhas de código, está na hora de pensar em refatorá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas e quanto à um framework por exemplo?

 

Para desenvolvimento do mesmo, quanto mais organizado, melhor.

 

E quanto ao uso? Para o programador mediano como a grande maioria dos usuários de framework, "compilar" tudo num arquivo só nãoseria uma idéia viável?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.