欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php获取一个类里面的所有方法 自己亲自做的 有大用 有大大用 有大大大用

自己亲自做的例子

//获取属性名和值
var_dump(get_object_vars($this));

//另一种方法获取全部的属性名
$r = new ReflectionClass('App\Http\Requests\UserRequest'); var_dump($r->getProperties());


//获取方法名
$class
= new \ReflectionClass('App\Http\Requests\UserRequest');
$methods = $class->getMethods();
foreach ($methods as $key => $value) {
   $hasMethod[] = $value->name;

}
dd($hasMethod);


php获取一个类里面的所有方法

版权声明:经验之谈,不知能否换包辣条,另,转载请注明出处。 https://blog.csdn.net/zhezhebie/article/details/80610532

php支持动态的调用方法,这点很不错,在使用carbon的时候我想要知道所有的输出格式,如果一个一个测试,太慢,所以想到了批量测试,代码如下:

.....
use Carbon\Carbon;
....

$data = TeacherRestSchedule::find($id);
$data['start_time'] = Carbon::createFromFormat('Y-m-d H:i:s', $data['start_time'])->toIso8601String();
$class = new \ReflectionClass('Carbon\Carbon');
$methods = $class->getMethods();
foreach ($methods as $key => $value) {
    $hasMethod[] = $value->name;
    if (ends_with($name, 'String') && starts_with($name, 'to')) {
        echo $name . '() ---输出格式为:' . Carbon::now()->$name() . '<br>';
    }
}
dd($hasMethod);
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

输出结果如下:

toDateString() —输出格式为:2018-06-07 
toFormattedDateString() —输出格式为:Jun 7, 2018 
toTimeString() —输出格式为:07:50:15 
toDateTimeString() —输出格式为:2018-06-07 07:50:15 
toDayDateTimeString() —输出格式为:Thu, Jun 7, 2018 7:50 AM 
toAtomString() —输出格式为:2018-06-07T07:50:15+00:00 
toCookieString() —输出格式为:Thursday, 07-Jun-2018 07:50:15 UTC 
toIso8601String() —输出格式为:2018-06-07T07:50:15+00:00 
toRfc822String() —输出格式为:Thu, 07 Jun 18 07:50:15 +0000 
toIso8601ZuluString() —输出格式为:2018-06-07T07:50:15Z 
toRfc850String() —输出格式为:Thursday, 07-Jun-18 07:50:15 UTC 
toRfc1036String() —输出格式为:Thu, 07 Jun 18 07:50:15 +0000 
toRfc1123String() —输出格式为:Thu, 07 Jun 2018 07:50:15 +0000 
toRfc2822String() —输出格式为:Thu, 07 Jun 2018 07:50:15 +0000 
toRfc3339String() —输出格式为:2018-06-07T07:50:15+00:00 
toRssString() —输出格式为:Thu, 07 Jun 2018 07:50:15 +0000 
toW3cString() —输出格式为:2018-06-07T07:50:15+00:00 
toRfc7231String() —输出格式为:Thu, 07 Jun 2018 07:50:15 GMT

array:313 [▼
  0 => "setHumanDiffOptions"
  1 => "enableHumanDiffOption"
  2 => "disableHumanDiffOption"
  3 => "getHumanDiffOptions"
  4 => "useMicrosecondsFallback"
  5 => "isMicrosecondsFallbackEnabled"
  6 => "useMonthsOverflow"
  7 => "resetMonthsOverflow"
  8 => "shouldOverflowMonths"
  9 => "useYearsOverflow"
  10 => "resetYearsOverflow"
  11 => "shouldOverflowYears"
  12 => "compareYearWithMonth"
  13 => "shouldCompareYearWithMonth"
  14 => "safeCreateDateTimeZone"
  15 => "__construct"
  16 => "instance"

来自  https://blog.csdn.net/zhezhebie/article/details/80610532

普通分类: