Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP设置函数内的变量';s函数_Php_Oop_Slim_Slim 3 - Fatal编程技术网

PHP设置函数内的变量';s函数

PHP设置函数内的变量';s函数,php,oop,slim,slim-3,Php,Oop,Slim,Slim 3,我需要关于设置变量的建议。我正在使用Slim框架。我很少上课 MailboxManager.php public function getMailById($id) { /* @var $sql PDOStatement */ $sql = $this->database->prepare("SELECT * FROM appmail_mails WHERE id = :id"); $sql->bindParam('id', $i

我需要关于设置变量的建议。我正在使用Slim框架。我很少上课

MailboxManager.php

    public function getMailById($id) {
        /* @var $sql PDOStatement */
        $sql = $this->database->prepare("SELECT * FROM appmail_mails WHERE id = :id");
    $sql->bindParam('id', $id);
    $sql->execute();
    $record = $sql->fetch(PDO::FETCH_ASSOC);
    if ($record === false) {
        return null;
    }
    $mail = new Mail($id);
    $mail->setMailContent($record['content']);
    $mail->setMailDate($record['date']);
    $mail->setMailSubject($record['subject']);
    $mail->setMailSize($record['
return $mail;
class MailController
private $id;
public function showMail()
    $mail = ServicesFactory::getMailboxManager()->getMailById($this->id);
    echo "<pre>";
    var_dump($mail);
MailController.php

    public function getMailById($id) {
        /* @var $sql PDOStatement */
        $sql = $this->database->prepare("SELECT * FROM appmail_mails WHERE id = :id");
    $sql->bindParam('id', $id);
    $sql->execute();
    $record = $sql->fetch(PDO::FETCH_ASSOC);
    if ($record === false) {
        return null;
    }
    $mail = new Mail($id);
    $mail->setMailContent($record['content']);
    $mail->setMailDate($record['date']);
    $mail->setMailSubject($record['subject']);
    $mail->setMailSize($record['
return $mail;
class MailController
private $id;
public function showMail()
    $mail = ServicesFactory::getMailboxManager()->getMailById($this->id);
    echo "<pre>";
    var_dump($mail);
我应该如何设置以下项的id:

$test = $new->showMail($id)
为了得到它? 每次我试图:

$app->get('/dupa/{id}', function(ServerRequestInterface $request, $response, $args){

    $id = $args['id'];
    echo $id;
    $new = new MailController();
    $test = $new->showMail();
    var_dump($test);
});
我只是得到空值


谢谢您的帮助。

路由参数作为第三个参数传递给闭包


您的
showMail()
确实返回任何内容??是的,它返回null您的函数
showMail()
不需要任何id。您希望MailController如何获取id?