0

変数の設定についてアドバイスが必要です。私はスリムフレームワークを使用しています。私はいくつかのクラスを持っています。

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;

MailController.php

class MailController
private $id;
public function showMail()
    $mail = ServicesFactory::getMailboxManager()->getMailById($this->id);
    echo "<pre>";
    var_dump($mail);

次に、Slim Framework でパスを作成したいと思います。インデックス php に次のように記述します。

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

    $id = $request->getAttribute('id');
    echo $id;
    $new = new MailController();
    $test = $new->showMail();
    var_dump($test);
});

次の ID を設定するにはどうすればよいですか。

$mail = ServicesFactory::getMailboxManager()->getMailById($this->id);

正しく取得するには?私がしようとしているたびに:

$test = $new->showMail($id)

私はただヌルになります。

助けてくれてありがとう。

4

1 に答える 1

0

ルート パラメータは、クロージャの 3 番目の引数として渡されます

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

    $id = $args['id'];
    echo $id;
    $new = new MailController();
    $test = $new->showMail();
    var_dump($test);
});
于 2016-02-28T12:25:50.563 に答える