0

ルートが index.php の目に触れないように、いくつかのクラスを設定しています。

index.php

require 'library/Slim/Slim.php';

$app=new Slim();
$app->map('/api/:class/:method(/:args1(/:args2(/:args3)))', function ($class,$method) use ($app) {

    $args=array_slice(func_get_args(), 2);
    require_once('library/controllers/'.str_replace('.','/',$class).'.php');

        $Class=substr($class,strrpos($class,'.'));
        $controller=new $Class($app);

        if(method_exists($controller,$method)) $controller->{$method}($args);

})->via('GET', 'POST');

$app->run(); 

そして、__http://domain.com/api/photos/recent/args/args/args のようなものを呼び出しています

テストクラスの写真

<?php

class photos {

    private $app;

    public function __contruct() {
        $this->app = Slim::getInstance();
    }

    public function recent() {

        $this->app->render('test.html');

    }

}

Slim のインスタンスを実行してレンダリングしようとしていますが、何らかの理由で取得できませんか? テスト HTML は photos.php と同じディレクトリにあります

私は何を間違っていますか?致命的なエラーで死ぬ

PHP 致命的なエラー: 13 行目の /library/controllers/photos.php の非オブジェクトに対するメンバー関数 render() の呼び出し

4

0 に答える 0