ちょうど私の2セントをお楽しみいただけます、と述べました。
composer create symfony/skeleton super-project
cd super-project
composer require doctrine/dbal
.env
DATABASE_URL =のmysql://ユーザー:パスワード@ localhostの/ dbnameは
のconfig/services.yaml
App\Service\Conexion:
arguments:
-
url : '%env(DATABASE_URL)%'
でApp \ Serviceフォルダ - > Conexion.php
Use Doctrine\DBAL\Configuration;
class Conexion
{
var $url = '';
public function __construct($url)
{
$this->url = $url['url'];
}
public function getConexion(){
// configuration parameters
$config = new Configuration();
$connectionParams = array(
'url' => $this->url,
);
$conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config);
return $conn;
}
のApp \エンティティフォルダに - >アプリケーション\エンティティでBaseService.php
class BaseService
{
protected $db;
public function __construct($db)
{
$this->db = $db->getConexion();
}
}
sociosエンティティ - > Socios.phpのApp \コントローラーで最後に
namespace App\Entity;
class Socios extends BaseService
{
public function veo(){
return $this->db->fetchAll("select * from socios order by id;");
}
}
- > SociosController。 php
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Routing\Annotation\Route;
use App\Service\Conexion;
use App\Entity\Socios;
class SociosController extends Controller
{
public function Socios(Conexion $conn)
{
$socios = (new Socios($conn))->getAll();
return $this->render('Socios/index.html.twig', array(
'socios' => $socios,
));
}
}
ファクトリを使用し、設定パラメータ(https://symfony.com/doc/cu)を使用する接続パラメータと接続を受け入れる工場出荷時のサービスが必要ですrrent/service_container/factories.html)。 –