初进一个项目组的时候,可能对他的框架啊神马不熟悉的。有时候类里又有各种魔术方法的使用,IDE还跳转不过去对象的方法。
这时候很多php内置函数就可以帮上些忙了。

1. instanceof
2. get_class_methods
3. call_user_func_array

4. 更推荐使用php的反射ReflectionClass

比如想知道这个对象是不是这个类的实例,可以使用instanceof $instance instanceof $class;

当想知道这个实例都可以调用的哪些方法的时候,可以使用get_class_methods($instance) 传入这个实例参数,返回这个实例的类(包括父类)的所有方法,以数组返回。

// call_user_func_array(array($foo, "bar"), array("three", "four")) $foo->bar() 这个就直接拷贝了操作手册里的
<?php
function foobar($arg, $arg2) {
echo __FUNCTION__, " got $arg and $arg2\n";
}
class foo {
function bar($arg, $arg2) {
echo __METHOD__, " got $arg and $arg2\n";
}
}

// Call the foobar() function with 2 arguments
call_user_func_array("foobar", array("one", "two")); // foobar got one and two

// Call the $foo->bar() method with 2 arguments
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four")); // foo::bar got three and four
?>

====================================================================

php反射  操作手册:函数参考-->变量与类型相关扩展-->反射(反射还有很多相关函数)

class Hi{}

$obj = new Hi();
$reflect = new ReflectionClass($obj);// 创建一个ReflectionClass对象,参数是类名或者类的实例
$methods = $reflect->getMethods();// 通过ReflectionClass对象获取要查询的对象信息,如方法
$props = $reflect->getStaticProperties();// 如属性、静态属性等
print_r($methods);
print_r($props);

====================================================================

线上项目,通常会抑制错误。

而开发时,一般希望看到错误。

这两行代码,有用武之地了

// error_reporting(E_ALL);
ini_set('display_errors','On');

php初进一个项目组,使用几个函数帮忙熟悉流程的更多相关文章

  1. C++ Profiler工具之初体验

    http://www.cnblogs.com/likwo/archive/2012/12/20/2826988.html 转 http://www.cnblogs.com/lenolix/archiv ...

  2. BI的相关问题[转]

    什么是BI? Business Intelligence(BI) = Data Warehouse(DW) + OLAP + Data Mining(DM) 商业智能=数据仓库+联机分析+数据挖掘 做 ...

  3. 流程与IT管理是未来IT行业发展的必经之路

    流程与IT管理是未来IT行业发展的必经之路 PM圈子 百家号17-11-2411:30 本文由“光环国际”—中国项目管理PMP培训上市企业转载 IT部门的职责之所以能够从辅助部门发展成业务支撑部门,最 ...

  4. STC项目风险分析

    一.引言 由于项目的实现具有不确定性,所以每个项目都是存在风险的. 项目实现过程中的复杂性以及项目内外许多变化的因素,都会造成项目实现过程中的风险. 如果不能对项目的风险进行很好的分析和管理,那么项目 ...

  5. 嵌入式单片机STM32应用技术(课本)

    目录SAIU R20 1 6 第1页第1 章. 初识STM32..................................................................... ...

  6. 【转帖】流程与IT管理部——IT支撑业务变革的必然趋势

    流程与IT管理部——IT支撑业务变革的必然趋势 1前言 伴随着中国企业的信息化进程, IT部门.IT专职人员已经在大部分企业获得了一席之地,电脑.网络.软件的维护都离不开这个部门:不过“一席之地”并不 ...

  7. IT项目经理岗位职责(转)

    一.  项目经理岗位职责 1.  项目经理为整个项目的第一责任人. 2.  项目经理对<质量检查报告>中的所有细则负首要责任. 3.  项目经理必须有效掌控项目开发的各个环节,协助.指导项 ...

  8. TFS 2015(Visual Studio Team Foundation Server)的下载和安装

    微软现在所有Visual Studio相关的下载到www.visualstudio.com网站下载是非常方便的 下载地址: 下载ISO版本后,进行安装,由于10-20人的小团队,不需要SharePoi ...

  9. [转]keil使用详解

    第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...

随机推荐

  1. git 报错:error: failed to push some refs to 'https://github.com/Anderson-An/******.git'(已解决)

    提交push 报错: $ git push origin masterTo https://github.com/Anderson-An/******.git ! [rejected] master ...

  2. BZOJ2956: 模积和(数论分块)

    题意 题目链接 Sol 啊啊这题好恶心啊,推的时候一堆细节qwq \(a \% i = a - \frac{a}{i} * i\) 把所有的都展开,直接分块.关键是那个\(i \not= j\)的地方 ...

  3. 一步步弄懂HTTPS

    为什么要使用HTTPS? HTTP采用明文传输,存在被监听.内容被篡改.身份被冒充的可能.为了保证安全性,需要对数据进行加密,这便有了HTTPS. 一步步分析HTTPS 1. 采用哪种加密方式加密数据 ...

  4. OSGI企业应用开发(六)细说Blueprint & Gemini Blueprint(一)

    上篇文章介绍了如何使用Blueprint將Spring框架整合到OSGI应用的Bundle中,从上篇文章中我们大概了解了Blueprint与Gemini Blueprint的关系,简单的说,Bluep ...

  5. 使用excel开发平台活字格搭建物流管理系统

    物流管理系统是指包含完整的物流公司信息.物流寄件信息.物流运输信息以及物流寄件单位等管理系统.功能完善的物流管理系统,能帮助物流企业更好的进行物流管理. 下面我们借助活字格,来设计一个简单的物流管理系 ...

  6. php 实现简单加入购物车(1)

          这个购物车相对来说比较简单,用于短暂存储,并没有存储到数据库,购物车对于爱网购的人来说简直是熟悉的不能再熟悉了,在写购物车之前,我们首先要构思一下,我们需要先从数据库中调出一张表格,这里我 ...

  7. soapUI 使用soapUI测试http+json协议接口简介

    使用soapUI测试http+json协议接口简介 by:授客 QQ:1033553122 SoapUI-Pro-x64-5.1.2_576025(含破解文件),软件下载地址: http://pan. ...

  8. JAVA EE期末项目-校园小商店

    校园小商店 一.项目成员及分工 我(计科二班袁文雪)和队友(计科二班蒋媛)设计了一款面对校园的网上购物商店. 我的工作:理解分析代码,编写文档. 二.项目需求分析 网上商店系统主要是实现学生网上选商品 ...

  9. svn目标计算机主动拒绝

    这两天上传文件到服务器端,总是提示“ 目标计算机主动拒绝”. 后来排查,是受到360杀毒软件的文件系统实时防护功能影响. 虽然服务器端已经将仓库目录添加进360杀毒的白名单,但随着用户不断更新文件,文 ...

  10. sql Server插不进数据,以及Id自增的教程及注意事项

    参考于:https://jingyan.baidu.com/article/fec4bce244f902f2608d8b7a.html 使用SQL Server 2014 数据库做web的项目出现错误 ...