ルートが 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() の呼び出し