Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
776 views
in Technique[技术] by (71.8m points)

symfony - How to install Doctrine Extensions in a Symfony2 project

I guess that this is really trivial and stupid question, but I don't know how to install Doctrine Extensions - https://github.com/beberlei/DoctrineExtensions in my Symfony2 project. I need them because of the MONTH, YEAR functions. Where should I put their folder? And should I put the whole DoctrineExtensions folder? And where to write this:

<?php

$classLoader = new DoctrineCommonClassLoader('DoctrineExtensions', "/path/to/extensions");
$classLoader->register(); 

In a separate file? Where to put it and how to call it?

And then is this all I need to use them:

public function findOneByYearMonthDay($year, $month, $day)
{
    $emConfig = $this->getEntityManager()->getConfiguration();
    $emConfig->addCustomDatetimeFunction('YEAR', 'DoctrineExtensionsQueryMysqlYear');
    $emConfig->addCustomDatetimeFunction('MONTH', 'DoctrineExtensionsQueryMysqlMonth');
    $emConfig->addCustomDatetimeFunction('DAY', 'DoctrineExtensionsQueryMysqlDay');

Thank you very much in advance and sorry once again for the question, but I couldn't find a tutorial (which makes me feel even more guilty, because I guess it's too trivial when there isn't even a tutorial)

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can install it via composer. Just add it to your composer.json and then php composer.phar update beberlei/DoctrineExtensions

"beberlei/DoctrineExtensions": "*",

Then you can register functions to your ORM

doctrine:
    orm:
      auto_generate_proxy_classes: %kernel.debug%
      entity_managers:
        default:
          auto_mapping: true
          dql:
            datetime_functions:
              MONTH: DoctrineExtensionsQueryMysqlMonth
              YEAR: DoctrineExtensionsQueryMysqlYear

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...