class MoFileDumper in Plug 7
MoFileDumper generates a gettext formatted string representation of a message catalogue.
@author Stealth35
Hierarchy
- class \Symfony\Component\Translation\Dumper\FileDumper implements DumperInterface
- class \Symfony\Component\Translation\Dumper\MoFileDumper
 
 
Expanded class hierarchy of MoFileDumper
1 file declares its use of MoFileDumper
- MoFileDumperTest.php in lib/
Symfony/ translation/ Tests/ Dumper/ MoFileDumperTest.php  
File
- lib/
Symfony/ translation/ Dumper/ MoFileDumper.php, line 22  
Namespace
Symfony\Component\Translation\DumperView source
class MoFileDumper extends FileDumper {
  /**
   * {@inheritdoc}
   */
  public function format(MessageCatalogue $messages, $domain = 'messages') {
    $output = $sources = $targets = $sourceOffsets = $targetOffsets = '';
    $offsets = array();
    $size = 0;
    foreach ($messages
      ->all($domain) as $source => $target) {
      $offsets[] = array_map('strlen', array(
        $sources,
        $source,
        $targets,
        $target,
      ));
      $sources .= "\0" . $source;
      $targets .= "\0" . $target;
      ++$size;
    }
    $header = array(
      'magicNumber' => MoFileLoader::MO_LITTLE_ENDIAN_MAGIC,
      'formatRevision' => 0,
      'count' => $size,
      'offsetId' => MoFileLoader::MO_HEADER_SIZE,
      'offsetTranslated' => MoFileLoader::MO_HEADER_SIZE + 8 * $size,
      'sizeHashes' => 0,
      'offsetHashes' => MoFileLoader::MO_HEADER_SIZE + 16 * $size,
    );
    $sourcesSize = strlen($sources);
    $sourcesStart = $header['offsetHashes'] + 1;
    foreach ($offsets as $offset) {
      $sourceOffsets .= $this
        ->writeLong($offset[1]) . $this
        ->writeLong($offset[0] + $sourcesStart);
      $targetOffsets .= $this
        ->writeLong($offset[3]) . $this
        ->writeLong($offset[2] + $sourcesStart + $sourcesSize);
    }
    $output = implode(array_map(array(
      $this,
      'writeLong',
    ), $header)) . $sourceOffsets . $targetOffsets . $sources . $targets;
    return $output;
  }
  /**
   * {@inheritdoc}
   */
  protected function getExtension() {
    return 'mo';
  }
  private function writeLong($str) {
    return pack('V*', $str);
  }
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            FileDumper:: | 
                  private | property | Make file backup before the dump. | |
| 
            FileDumper:: | 
                  protected | property | A template for the relative paths to files. | 1 | 
| 
            FileDumper:: | 
                  public | function | 
            Dumps the message catalogue. Overrides DumperInterface:: | 
                  1 | 
| 
            FileDumper:: | 
                  protected | function | Transforms a domain of a message catalogue to its string representation. | 1 | 
| 
            FileDumper:: | 
                  private | function | Gets the relative file path using the template. | |
| 
            FileDumper:: | 
                  public | function | Sets backup flag. | |
| 
            FileDumper:: | 
                  public | function | Sets the template for the relative paths to files. | |
| 
            MoFileDumper:: | 
                  public | function | 
            Transforms a domain of a message catalogue to its string representation. Overrides FileDumper:: | 
                  |
| 
            MoFileDumper:: | 
                  protected | function | 
            Gets the file extension of the dumper. Overrides FileDumper:: | 
                  |
| 
            MoFileDumper:: | 
                  private | function |