PHP 使用get_class_methods()和array_diff() 兩個相同的類中方法差集

进行二次开发时,习惯一份是原封不动的,一份正在修改。在修改时,发现修改的缺少原项目中的一些方法。本打算一个方法一个方法的对比,可是这样会比较花时间,划不来,PHP可以使用get_class_methods() 获取一个类中的所有方法,返回的是数组,刚好可以使用 array_diff()两个相同类中相差的方法,这两个方法真是帮了大忙。

<?php
/**
 * Created by PhpStorm.
 * User: wakasann
 * Date: 2016/1/28
 * Time: 11:46
 */
require_once("Training.php"); //目前的類
require_once("Training_2012.php");//之前的類
function p($arr){
    echo "<pre>";
    print_r($arr);
    echo "</pre>";
}
$traingModel = get_class_methods(‘Training‘);
$traingModel2 = get_class_methods(‘Training_2012‘);

//p($traingModel);
//p($traingModel2);
//獲取之前的類和現在修改的同一個類中方法的差集
$result=array_diff($traingModel2,$traingModel);
p($result);

最終獲取到了方法差集

时间: 2024-09-30 21:08:07

PHP 使用get_class_methods()和array_diff() 兩個相同的類中方法差集的相关文章

中華酷聯兩個重要資訊

這個數據至少包含了兩個重要資訊,第一是手機已經成為老百姓生活中不可或缺的一部分,購機.換機需求龐大,已超過一般日用品;二是電商已經對手機傳統實體管道銷售網絡造成了巨大衝擊,可以說在未來得電商者得天下.  再來看手機具體的銷售情況,曾幾何時,提到手機蘋果.三星代表了海外品牌,國產則以“中華酷聯”一言以蔽之.但是當阿裏11日晚最終公佈手機銷售排名時,著實讓人大跌眼鏡,小米以15.6億的單日銷售額排名第一,“中華酷聯”只剩華為以10.6億緊隨第二,其餘三家則沒了蹤影,蘋果.三星分列第四.第五. 對於這

EF中另外一個解決類似連表的方法

1.首先我們想讓列表頁顯示兩個表的共同數據 這裡有兩張表 public class mytype    {        public int mytypeID { get; set; }        public string mytypeName { get; set; }    } public class Author    {        public int AuthorID { get; set; }        public string AuthorName { get;

ASP.NET MVC Identity 兩個多個連接字符串問題解決一例

按照ASP.NET MVC Identity建立了一個用戶權限管理模塊,由于還要加自己已有的數據庫,所以建立了一個實體模型,建立了之后,發現登錄不了: 一直顯示"Login in failed for user 'sa',後來發現不是用戶名和密碼不對,而是連接字符串的問題,按屬性里複製的連接字符串沒有包括Initial Catalog=MISWeb, 所以有時正常,有時提示登錄錯誤. 多個連接字符串ConnectionString可以同時存在.包括同一服務器,同一用戶名,同一數據庫.

AWK用法入门详解

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK

awk 用法(自己笔记)

Table of Contents 1. awk简介 2. awk命令格式和选项 2.1. awk的语法有两种形式 2.2. 命令选项 3. 模式和操作 3.1. 模式 3.2. 操作 4. awk的环境变量 5. awk运算符 6. 记录和域 6.1. 记录 6.2. 域 6.3. 域分隔符 7. gawk专用正则表达式元字符 8. POSIX字符集 9. 匹配操作符(~) 10. 比较表达式 11. 范围模板 12. 一个验证passwd文件有效性的例子 13. 几个实例 14. awk编程

使用awk和grep做简单的统计

假如某个广告点击数据记录在文件里面,文件中每一行数据由‘时间’,‘uid’两个字段组成,要求每分钟统计某个uid带来的点击量并计入数据库,可以用shell来实现该功能. #!/bin/bash#广告点击统计,统计前一分钟的点击数stat_time=`date -d "- minutes ago" +"%Y-%m-%d %k:%M"`log_date=`date -d "$stat_time" +%Y-%m-%d`;log_month=`date

Dependency Injection 筆記 (2)

續上集,接著要說明如何運用 DI 來讓剛才的範例程式具備執行時期切換實作類別的能力. 入門範例—DI 版本 為了讓 AuthenticationService 類別能夠在執行時期才決定要使用 EmailService 還是 ShortMessageService 來發送驗證碼,我們必須對這些類別動點小手術,把它們之間原本緊密耦合的關係鬆開——或者說「解耦合」.有一個很有效的工具可以用來解耦合:介面(interface). 說得更明白些,原本 AuthenticationService 是相依於特

[設計模式].01.簡單工廠模式

用戶接口 1 //定義一個用戶該有的操作 2 public interface IUser 3 { 4 bool Login(string userName, string psw); 5 bool Login(); 6 bool Exsit(); 7 } 用戶抽象類 1 //定義一個抽象類,讓它去實現IUser接口 2 //編寫每個要User類需要執行的操作,如登錄信息記錄到日志,修飾符定義為可重寫virtual 3 public abstract class User : IUser 4 {

Linux下awk命令详解

grep 或 egrep 或awk 过滤两个或多个关键词: grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行 egrep '123|abc' filename //用egrep同样可以实现 awk '/123|abc/' filename // awk 的实现方式 假如某个广告点击数据记录在文件里面,文件中每一行数据由'时间','uid'两个字段组成,要求每分钟统计某个uid带来的点击量并计入数据库,可以用shell来实现该功