Determinar automaticamente a versão mínima do WordPress necessária para um plugin?

20

Ao desenvolver um plugin, existe uma maneira de determinar automaticamente a versão mínima do WordPress necessária para executá-lo? Eu quero ter certeza de que o Requires cabeçalho é preciso, mas a verificação manual toda vez que eu chamo uma nova função principal é entediante e propensa a erros.

Estou pensando que um script pode ser facilmente descoberto:

  1. Analise todos os arquivos em um plug-in.
  2. Analise todas as instanciações de classe e chamadas de função com base na sintaxe new foo( [...] ) , foo::bar( [...] ) , bar( [...] ) , call_user_func( [...] ) , etc.
  3. Analise a origem do WP para determinar quando cada uma dessas classes / funções foram adicionadas ao WordPress, usando a tag @since phpDoc.
  4. Gere um relatório listando cada classe / função e a versão que foi adicionada, junto com a versão mais antiga do WordPress que inclui todas as classes / funções.

Eu olhei em volta, mas não consegui encontrar nada parecido, e não tenho tempo para escrever isso sozinho. Alguém sabe de uma solução existente?

    
por Ian Dunn 22.04.2012 / 07:05

4 respostas

12

Acabei de encontrar uma solução como um serviço automatizado em enlace

Faz exatamente o que foi pedido, incluindo a geração de listas de funções usadas e dando uma sugestão para os comentários do Cabeçalho do Plugin.

    
por carstenbach 04.04.2013 / 00:36
3

Atualização: Isso não é mais preciso. Veja a resposta de carstenbach .

Bem, parece que a resposta é "Não, não existe uma solução para isso".

Se alguém quiser escrever um, isso pode ser útil:

Acho que o comentário de Mark sobre a criação do recurso no repositório do WordPress.org é realmente uma boa ideia, mas pode ser algo que a comunidade precisa criar primeiro para provar que é útil antes que a equipe principal considere a adição de isso.

    
por Ian Dunn 14.07.2012 / 19:46
2

Bem, isso é mais um ponto de partida, mas há uma boa lista de funções do WP e as versões que foram adicionadas / removidas aqui . Infelizmente, ele só vai para o WP 3.0.1, mas se você estiver filmando 3.0 como uma linha de base, pelo menos ajudará - se não estiver na lista, foi adicionado mais tarde. Você pode querer enviar um e-mail para Ozh e pedir a ele para atualizar a lista, e se um de nós obtiver o bom senso, alguém pode fazer um plugin para checar (como um reverso verificador de reprovação ).

ETA: Por @mrwweb - Lista de Ganchos de Adam Brown ! Corrente para 3,3 e vai waaaaay volta para 1.2.1, que ninguém em sã consciência estaria correndo mais (data de lançamento 06 de outubro de 2004).

    
por SickHippie 07.05.2012 / 18:59
0

Acho que a resposta está nos avisos preteridos - você deve estar desenvolvendo com WP_DEBUG true - se você os exibe ou registra é sua chamada, mas o WP o notificará se você usar uma função obsoleta.

Seria possível analisar @since como você diz, mas as ferramentas só podem levá-lo até agora - a familiaridade com a base de código e a verificação manual podem ser o caminho a seguir.

    
por Chris Cox 07.05.2012 / 17:57