找不到PHP Pthreads类“示例”

时间:2019-04-12 10:13:59

标签: php pthreads

尽管出现错误“ Class'Example'not found”(示例为某些自定义编写的类),但我正在尝试在Thread中执行函数。当正常执行函数(不在线程中)时,一切正常。

我的猜测:

在函数内部,我称之为“ call_user_func_array”,该函数正在执行使用自定义类的另一个函数。可能是线程无法访问此“外部”信息。

如果是,那么有关如何解决此问题的任何建议?

<?php
$task = new class extends Thread {
    public $code;
    public $data;

    public function run() {
        $sample_class = new \SirJoe\Sample_Class();
        $this->data = (array) get_all_data($sample_class, $this->code);
    }
};
$task->code = $media->getCode();
$task->start();
$task->join();



function get_all_data($sample_class, $code) {
    // key of end cursor

    $data = call_user_func_array(
        array($sample_class, 'getMediaLikesByCode'), 
        array($code)
    );

    return $data;
}

在Sample_Class内部:

public function getMediaLikesByCode($code, $maxId = null) {
    $likeArray(fetchLikes($code, $maxId));

    $like = Like::create($likeArray['node']);

    return $data;
}

喜欢的班级:

<?php

namespace SirJoe\Model;


class Like extends AbstractModel
{
    /**
     * @var
     */
    protected $id;

    /**
     * @var Account
     */
    protected $username;

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @return mixed
     */
    public function getUserName()
    {
        return $this->username;
    }

    /**
     * @param $value
     * @param $prop
     */
    protected function initPropertiesCustom($value, $prop)
    {
        switch ($prop) {
            case 'id':
                $this->id = $value;
                break;
            case 'username':
                $this->username = $value;
                break;
        }
    }

}

未捕获的错误:在lorem-ipsum.php:999中找不到类'SirJoe \ Model \ Like'

0 个答案:

没有答案