douliu1092
2016-08-30 04:00
浏览 73
已采纳

如何在Silex中的自定义类中使用$ app?

I know this looks like a dupllicate of Inject Silex $app in my custom class and others, but I couldn't get it working from their solutions.

I define my service like this:

$app['user.repo'] = function () {
    return new MyApp\Repository\User();
};

My class looks like this:

<?php
namespace MyApp\Repository;
use Silex\Application; 

class User {
    public function findAll(Application $app) {
        $users = $app['db']->fetchAll('SELECT * FROM user');
        return $users;
    }
}

And I use the service like this:

$users = $app['user.repo']->findAll($app);

How can I do this same thing without putting $app in all my methods?

图片转代码服务由CSDN问答提供 功能建议

我知道这看起来像是在我的自定义类中注入Silex $ app 和其他人,但我无法通过他们的解决方案使用它。 \ n

我这样定义我的服务:

  $ app ['user.repo'] = function(){
返回新的MyApp \ Repository \ User()  ; 
}; 
   
 
 

我的类如下所示:

 &lt;?php 
namespace MyApp \ 存储库; 
use Silex \ Application;  
 
class用户{
公共函数findAll(Application $ app){
 $ users = $ app ['db']  - &gt; fetchAll('SELECT * FROM user'); 
返回$ users; 
  } 
} 
   
 
 

我使用这样的服务:

  $ users = $ app ['  user.repo']  - &gt; findAll($ app); 
   
 
 

如果不将 $ app 放入其中,我该如何做同样的事情 我的所有方法?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题