【发布时间】:2017-03-31 07:40:24
【问题描述】:
所以,我正在尝试在 Silex 中四处走动。只需了解它的工作方式,我正在尝试在其中使用 Doctrine。我可以在 index.php 上使用它,但我也想在我的课程中使用它。这些行在普通根文件(index.php)中使用:
$images = $app['db']->prepare("SELECT * FROM images");
$images->execute();
$images = $images->fetchAll(\PDO::FETCH_CLASS, \AI\Models\Image::class);
这样我就有能力对图像做一些事情了。但我不想这样工作。我希望类为我完成这一切,因此我只需编写一些方法来为我完成所有艰苦的工作。这样我就可以为 index.php 中的每个 Route 运行一行
问题是我不知道如何在课堂上与 Doctrine 建立联系。因为那里没有'$app'。我认为在类中启动应用程序会很奇怪。
假设我想创建一个用户类。这个 SQL 会给我所有的用户:“SELECT * FROM users”。但是如何在 User 类中使用 Doctrine?
<?php
namespace Models;
class User {
public function find($user){
if($user) {
$field = (is_numeric($user)) ? 'id' : 'username';
$sql = "SELECT * FROM users";
$data = // RUN QUERY $SQL
if($data->count()) {
$this->_data = $data->all();
return true;
}
}
return false;
}
}
【问题讨论】:
-
你可能想看看 Pimple 来处理你的依赖注入。 pimple.sensiolabs.org.