1
これはInject Silex $app in my custom classなどの複製のように見えますが、私はそれを解決することができませんでした。
私はこのように私のサービスを定義します。
$app['user.repo'] = function() {
return new MyApp\Repository\User();
};
私のクラスには、次のようになります。
<?php
namespace MyApp\Repository;
use Silex\Application;
class User {
public function findAll(Application $app) {
$users = $app['db']->fetchAll('SELECT * FROM user');
return $users;
}
}
そして、私はこのようなサービスを使用します。
$users = $app['user.repo']->findAll($app);
私はどのように行うことができます私のすべての方法に$app
を入れないでこの同じことは?
ありがとうございます。私が注射を試みる前に、まったく同じ正確な解決策を使用しました...クラスと基本的なPHPの理解が不足しています。私は '$ this-> db-> fetchAll(...)'の代わりに '$ db-> fetchAll(..)'を持っていました。 – Travis