%PDF- %PDF-
Direktori : /var/www/html/news/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/ |
Current File : /var/www/html/news/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/MysqlSessionInit.php |
<?php /* * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This software consists of voluntary contributions made by many individuals * and is licensed under the MIT license. For more information, see * <http://www.doctrine-project.org>. */ namespace Doctrine\DBAL\Event\Listeners; use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Events; use Doctrine\Common\EventSubscriber; /** * MySQL Session Init Event Subscriber which allows to set the Client Encoding of the Connection. * * @link www.doctrine-project.org * @since 1.0 * @author Benjamin Eberlei <kontakt@beberlei.de> * @deprecated Use "charset" option to PDO MySQL Connection instead. */ class MysqlSessionInit implements EventSubscriber { /** * The charset. * * @var string */ private $_charset; /** * The collation, or FALSE if no collation. * * @var string|boolean */ private $_collation; /** * Configure Charset and Collation options of MySQL Client for each Connection. * * @param string $charset The charset. * @param string|boolean $collation The collation, or FALSE if no collation. */ public function __construct($charset = 'utf8', $collation = false) { $this->_charset = $charset; $this->_collation = $collation; } /** * @param \Doctrine\DBAL\Event\ConnectionEventArgs $args * * @return void */ public function postConnect(ConnectionEventArgs $args) { $collation = ($this->_collation) ? " COLLATE ".$this->_collation : ""; $args->getConnection()->executeUpdate("SET NAMES ".$this->_charset . $collation); } /** * {@inheritdoc} */ public function getSubscribedEvents() { return array(Events::postConnect); } }