PHP从另一个类返回特定数据

时间:2016-01-27 20:17:44

标签: php variables

关于如何从单独的文件中的另一个类返回特定值的PHP问题。所以我创建了一个上传器类来处理和存储用户上传的文件。但是尝试将点连接回原始请求,如果为了让我们说一个特定的页面 - 我在另一个文件中设置值之后如何传回特定值...下面的代码示例。

感谢Citti

//file 1 //store page request
public function store()
{
    //pass the uploaded file to be uploaded and stored
    $this->uploader->upload(RequestFile::file('assetfile'));

    $page = new Page;
        $page->user_id = $asset->user()->id;
        $page->assetfile = $file->user_id; <--- ? see below
    $page->save();
}

//file 2 //store physical file and create record in DB
class Uploader {

   public function upload($file)
   {
       $extension = $file->getClientOriginalExtension();
       $string = str_random(30);
       $uploadName = $string . '.' . $extension;
       $destinationPath = storage_path() . '/app/uploads/' . Request::user()->id;

       $file->move($destinationPath, $uploadName);

       $file = new File;
           $file->user_id = $asset->user()->id;
           $file->assetfile = $uploadId;
       $file->save();

       $return $file->user_id; ?!? 

2 个答案:

答案 0 :(得分:0)

要从函数返回值,可以使用“返回值”,只需将其存储到变量或输出即可。类似的东西:

public function store() {
    $fileId = $this->uploader->upload(RequestFile::file('assetfile'));
    $page = new Page;
    $page->user_id = $asset->user()->id;
    $page->assetfile = $fileId;
    $page->save();
}

//file 2 //store physical file and create record in DB
class Uploader {
   public function upload($file) {
       $extension = $file->getClientOriginalExtension();
       $string = str_random(30);
       $uploadName = $string . '.' . $extension;
       $destinationPath = storage_path() . '/app/uploads/' . Request::user()->id;
       $file->move($destinationPath, $uploadName);
       $file = new File;
       $file->user_id = $asset->user()->id;
       $file->assetfile = $uploadId;
       $file->save();
       return $file->user_id;
   }
}

答案 1 :(得分:0)

您可以尝试的是会话变量吗?

确保通过以下方式启动文件1和文件2上的会话:

session_start();

现在,在您的上传功能中,您可以声明会话变量 $_SESSION['specificValue'] = $valueSetInUpload;

现在,回到第一个文件,您可以访问商店功能中的变量 $valueSetInUpload = $_SESSION['specificValue'];

我相信这就是你所要求的,但我可能是错的。