alfallouji / php_code_compare
命令行脚本,用于比较源代码的两个版本(查找新类、方法等)。
Requires
- php: >=4
This package is not auto-updated.
Last update: 2024-09-18 08:40:36 UTC
README
版权(c)2009,Bashar Al-Fallouji bashar@alfallouji.com 版权所有。
在满足以下条件的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改:
源代码重新分发必须保留上述版权声明、本条件列表和以下免责声明。
二进制形式的重新分发必须在文档中或随同提供的材料中重新生产上述版权声明、本条件列表和以下免责声明。
未经Bashar Al-Fallouji或其贡献者事先书面许可,不得使用Bashar Al-Fallouji的名字或其贡献者的名字来认可或推广源自本软件的产品。
本软件按“原样”提供,版权所有者和贡献者不提供任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或继发性损害(包括但不限于替代商品或服务的采购、使用、数据或利润损失;或业务中断)承担责任,无论这种损害是基于合同、严格责任、侵权(包括疏忽或其他)或任何其他理论,即使被告知了发生此类损害的可能性。
@package phpApiCompare @author Bashar Al-Fallouji bashar@alfallouji.com @copyright 2009 Bashar Al-Fallouji bashar@alfallouji.com @license https://open-source.org.cn/licenses/bsd-license.php BSD许可证 @since 文件自版本1.0.0可用
PHP代码比较器是一个命令行脚本,允许比较库、框架或软件包的不同版本,并检测类存在或方法定义方面的变化。
如果您曾经想要一种快速识别两个相同软件包不同版本之间哪些类已更改或哪些方法已更改的方法,那么PHP代码比较器可能是您所需要的工具。
您无需使用diff工具,只需使用这个PHP命令行脚本。它将递归地解析文件夹,检测任何定义的类,并提取各种方法和参数。然后,将在您的库的第二版本上执行此操作。然后,将显示一个摘要,显示已检测到的差异。
解析使用PHP标记解析器(www.php.net/tokenizer)进行,并将检测类、接口、方法和参数。
此外,此工具将检测是否已删除类,是否已添加新类,是否已删除或添加方法,以及方法签名是否已更改。
我可以在哪里下载它?
您可以从github.com浏览代码并下载。
http://github.com/alfallouji/PHP-Code-Comparator/
您还可以直接从git存储库获取源代码。
git clone git://github.com/alfallouji/PHP-Code-Comparator.git
如何使用它?
这个工具是一个简单的命令行脚本。因此,只需使用PHP解释器即可使用它。
Usage: php compare.php oldFolder newFolder [-c] [-m] [-a] [-h]
-c, --classes Compare classes
-m, --methods Compare methods
-a, --all Compare all
-h, --help print a summary of the options
Example: php compare.php /var/www/cms1.0/api /var/www/cms2.0/api -a
比较项目不同版本的类
以下命令将比较Wordpress的1.6和1.7版本的类。
php compare.php ../compare/wordpress1.6/ ../compare/wordpress1.7/ -c
这是比较的结果。
Code Comparator ver1.0 by Bashar Al-Fallouji
Classes that dont exist anymore…
None…
New classes …
Class OPML_Import @ ../compare/wordpress1.7/wp-admin/import/opml.php
Class WP_Filesystem_SSH2 @ ../compare/wordpress1.7/wp-admin/includes/class-wp-filesystem-ssh2.php
Class WP_Http @ ../compare/wordpress1.7/wp-includes/http.php
Class WP_Http_Fsockopen @ ../compare/wordpress1.7/wp-includes/http.php
Class WP_Http_Fopen @ ../compare/wordpress1.7/wp-includes/http.php
Class WP_Http_Streams @ ../compare/wordpress1.7/wp-includes/http.php
Class WP_Http_ExtHTTP @ ../compare/wordpress1.7/wp-includes/http.php
Class WP_Http_Curl @ ../compare/wordpress1.7/wp-includes/http.php
Class EnchantSpell @ ../compare/wordpress1.7/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php
Class Walker_Comment @ ../compare/wordpress1.7/wp-includes/comment-template.php
比较项目不同版本的方法
以下命令将比较Wordpress的1.6和1.7版本的方法。
php compare.php /var/www/perso/compare/wordpress1.6/ /var/www/perso/compare/wordpress1.7/ -m
这是比较的结果。
Code Comparator ver1.0 by Bashar Al-Fallouji
Comparing methods between V1:”/var/www/perso/compare/wordpress1.6/” and V2:”/var/www/perso/compare/wordpress1.7/”
Class Walker_Category_Checklist @ /var/www/perso/compare/wordpress1.6/wp-admin/includes/template.php
Parameters for method _wp_get_comment_list may have changed
V1: $status, $s, $start, $num
V2: $status, $s, $start, $num, $post, $type
Parameters for method _wp_comment_row may have changed
V1: $comment_id, $mode, $comment_status, $checkbox
V2: $comment_id, $mode, $comment_status, $checkbox, $from_ajax
Parameters for method touch_time may have changed
V1: $edit, $for_post, $tab_index
V2: $edit, $for_post, $tab_index, $mult
Class PHPMailer @ /var/www/perso/compare/wordpress1.6/wp-includes/class-phpmailer.php
Parameters for method EncodeQP may have changed
V1: $str
V2: $input, $line_max, $space_conv
Class Walker_Page @ /var/www/perso/compare/wordpress1.6/wp-includes/classes.php
Parameters for method start_el may have changed
V1: $output, $page, $depth, $current_page, $args
V2: $output, $page, $depth, $args, $current_page