Merge pull request #1031 from mnapoli/custom-functions-callback-documentation
Documentation for #991
This commit is contained in:
commit
8babb77d37
@ -53,6 +53,17 @@ DQL query. ``$class`` is a string of a class-name which has to
|
||||
extend ``Doctrine\ORM\Query\Node\FunctionNode``. This is a class
|
||||
that offers all the necessary API and methods to implement a UDF.
|
||||
|
||||
Instead of providing the function class name, you can also provide
|
||||
a callable that returns the function object:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
<?php
|
||||
$config = new \Doctrine\ORM\Configuration();
|
||||
$config->addCustomStringFunction($name, function () {
|
||||
return new MyCustomFunction();
|
||||
});
|
||||
|
||||
In this post we will implement some MySql specific Date calculation
|
||||
methods, which are quite handy in my opinion:
|
||||
|
||||
|
@ -401,8 +401,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
*
|
||||
* DQL function names are case-insensitive.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $className
|
||||
* @param string $name Function name.
|
||||
* @param string|callable $className Class name or a callable that returns the function.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
@ -459,8 +459,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
*
|
||||
* DQL function names are case-insensitive.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $className
|
||||
* @param string $name Function name.
|
||||
* @param string|callable $className Class name or a callable that returns the function.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
@ -517,8 +517,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
|
||||
*
|
||||
* DQL function names are case-insensitive.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $className
|
||||
* @param string $name Function name.
|
||||
* @param string|callable $className Class name or a callable that returns the function.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
|
@ -3411,7 +3411,7 @@ class Parser
|
||||
|
||||
$function = is_string($functionClass)
|
||||
? new $functionClass($functionName)
|
||||
: $functionClass($functionName);
|
||||
: call_user_func($functionClass, $functionName);
|
||||
|
||||
$function->parse($this);
|
||||
|
||||
@ -3450,7 +3450,7 @@ class Parser
|
||||
|
||||
$function = is_string($functionClass)
|
||||
? new $functionClass($functionName)
|
||||
: $functionClass($functionName);
|
||||
: call_user_func($functionClass, $functionName);
|
||||
|
||||
$function->parse($this);
|
||||
|
||||
@ -3490,7 +3490,7 @@ class Parser
|
||||
|
||||
$function = is_string($functionClass)
|
||||
? new $functionClass($functionName)
|
||||
: $functionClass($functionName);
|
||||
: call_user_func($functionClass, $functionName);
|
||||
|
||||
$function->parse($this);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user