/** * @see \TranslatorTools\I18n\Translator\Writer\FileWriterInterface::write() * @param array $aMessages * @param string $sFilename * @throws \InvalidArgumentException * @return \TranslatorTools\I18n\Translator\Writer\Ini */ public function write(array $aMessages, $sFilename) { $aTempMessages = array(); foreach ($aMessages as $sMessage => $sTranslation) { $aTempMessages[str_replace('"', '\'', $sMessage)] = str_replace('"', '\'', $sTranslation); } $aMessages = $aTempMessages; if (is_file($sFilename)) { if (!is_readable($sFilename)) { throw new \InvalidArgumentException(sprintf('Could not open file "%s" for writing', $sFilename)); } $oIniReader = new \Zend\Config\Reader\Ini(); $aMessagesNamespaced = $oIniReader->fromFile($sFilename); $aListMessages = isset($aMessagesNamespaced['translation']) ? $aMessagesNamespaced['translation'] : $aMessagesNamespaced; foreach ($aListMessages as $aMessage) { if (!is_array($aMessage) || count($aMessage) < 2) { /* TODO remove */ error_log('$aMessage : ' . print_r($aMessage, true)); throw new \InvalidArgumentException('Each INI row must be an array with message and translation'); } if (isset($aMessage['message']) && isset($aMessage['translation'])) { //Add message only if not given if (!isset($aMessages[$aMessage['message']])) { $aMessages[$aMessage['message']] = $aMessage['translation']; } continue; } //Add message only if not given $sMessage = array_shift($aMessage); if (!isset($aMessages[$sMessage])) { $aMessages[$sMessage] = array_shift($aMessage); } } } else { $aMessagesNamespaced = null; } //Sort messages ksort($aMessages); $aMessagesKeys = array_keys($aMessages); $aMessages = array_combine($aMessagesKeys, array_map(function ($sTranslation, $sMessage) { return array('message' => $sMessage, 'translation' => $sTranslation); }, $aMessages, $aMessagesKeys)); if (isset($aMessagesNamespaced['translation'])) { $aMessagesNamespaced['translation'] = $aMessages; } else { $aMessagesNamespaced = $aMessages; } $oIniWriter = new \Zend\Config\Writer\Ini(); $oIniWriter->toFile($sFilename, $aMessagesNamespaced); return $this; }
public function index2Action() { // $reader = new \Zend\Config\Reader\Ini(); // // thay đổi ký tự tạo mảng trong file ini // //$reader->setNestSeparator("-"); // $config = $reader->fromFile(__DIR__."/../../../config/ini/module.config.ini"); $config = new \Zend\Config\Config(array(), true); $config->prodution = array(); $config->prodution->website = "zing.vn"; $config->prodution->account = array(); $config->prodution->account->name = "trongle"; $config->prodution->account->email = "*****@*****.**"; $writer = new \Zend\Config\Writer\Ini(); $writer->setNestSeparator("-"); $writer->toFile(__DIR__ . "/../../../config/ini/config.ini", $config); //return false; }
public function index2Action() { $reader = new \Zend\Config\Reader\Ini(); // Cau hinh $reader->setNestSeparator('-'); $data = $reader->fromFile(__DIR__ . '/../../../config/ini/module.config.ini', true); $config = new \Zend\Config\Config(array(), true); $config->production = array(); $config->production->website = 'www.zend.vn'; $config->production->account = array(); $config->production->account->email = '*****@*****.**'; $config->production->account->port = 465; $writer = new \Zend\Config\Writer\Ini(); $writer->setNestSeparator('-'); $writer->toFile(__DIR__ . '/../../../config/ini/config.ini', $config); //return false; }