Overview

Packages

  • PHP
  • PHPWord

Classes

  • PHPWord
  • PHPWord_Autoloader
  • PHPWord_DocumentProperties
  • PHPWord_HashTable
  • PHPWord_IOFactory
  • PHPWord_Media
  • PHPWord_Section
  • PHPWord_Section_Footer
  • PHPWord_Section_Footer_PreserveText
  • PHPWord_Section_Header
  • PHPWord_Section_Image
  • PHPWord_Section_Link
  • PHPWord_Section_ListItem
  • PHPWord_Section_MemoryImage
  • PHPWord_Section_Object
  • PHPWord_Section_PageBreak
  • PHPWord_Section_Settings
  • PHPWord_Section_Table
  • PHPWord_Section_Table_Cell
  • PHPWord_Section_Table_Row
  • PHPWord_Section_Text
  • PHPWord_Section_TextBreak
  • PHPWord_Section_TextRun
  • PHPWord_Section_Title
  • PHPWord_Shared_Drawing
  • PHPWord_Shared_File
  • PHPWord_Shared_Font
  • PHPWord_Shared_String
  • PHPWord_Shared_XMLWriter
  • PHPWord_Shared_ZipStreamWrapper
  • PHPWord_Style
  • PHPWord_Style_Cell
  • PHPWord_Style_Font
  • PHPWord_Style_Image
  • PHPWord_Style_ListItem
  • PHPWord_Style_Paragraph
  • PHPWord_Style_Row
  • PHPWord_Style_Tab
  • PHPWord_Style_Table
  • PHPWord_Style_TableFull
  • PHPWord_Style_Tabs
  • PHPWord_Style_TOC
  • PHPWord_Template
  • PHPWord_TOC
  • PHPWord_Writer_ODText
  • PHPWord_Writer_ODText_Content
  • PHPWord_Writer_ODText_Manifest
  • PHPWord_Writer_ODText_Meta
  • PHPWord_Writer_ODText_Mimetype
  • PHPWord_Writer_ODText_Styles
  • PHPWord_Writer_ODText_WriterPart
  • PHPWord_Writer_RTF
  • PHPWord_Writer_Word2007
  • PHPWord_Writer_Word2007_Base
  • PHPWord_Writer_Word2007_ContentTypes
  • PHPWord_Writer_Word2007_DocProps
  • PHPWord_Writer_Word2007_Document
  • PHPWord_Writer_Word2007_DocumentRels
  • PHPWord_Writer_Word2007_Footer
  • PHPWord_Writer_Word2007_Header
  • PHPWord_Writer_Word2007_Rels
  • PHPWord_Writer_Word2007_Styles
  • PHPWord_Writer_Word2007_WriterPart

Interfaces

  • PHPWord_Writer_IWriter

Exceptions

  • PHPWord_Exception
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * PHPWord
  4:  *
  5:  * Copyright (c) 2013 PHPWord
  6:  *
  7:  * This library is free software; you can redistribute it and/or
  8:  * modify it under the terms of the GNU Lesser General Public
  9:  * License as published by the Free Software Foundation; either
 10:  * version 2.1 of the License, or (at your option) any later version.
 11:  *
 12:  * This library is distributed in the hope that it will be useful,
 13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15:  * Lesser General Public License for more details.
 16:  *
 17:  * You should have received a copy of the GNU Lesser General Public
 18:  * License along with this library; if not, write to the Free Software
 19:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 20:  *
 21:  * @category   PHPWord
 22:  * @package    PHPWord
 23:  * @copyright  Copyright (c) 2013 PHPWord
 24:  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 25:  * @version    0.7.0
 26:  */
 27: 
 28: /**
 29:  * Class PHPWord_IOFactory
 30:  */
 31: class PHPWord_IOFactory
 32: {
 33: 
 34:     /**
 35:      * Search locations
 36:      *
 37:      * @var array
 38:      */
 39:     private static $_searchLocations = array(
 40:         array('type' => 'IWriter', 'path' => 'PHPWord/Writer/{0}.php', 'class' => 'PHPWord_Writer_{0}')
 41:     );
 42: 
 43:     /**
 44:      * Autoresolve classes
 45:      *
 46:      * @var array
 47:      */
 48:     private static $_autoResolveClasses = array(
 49:         'Serialized'
 50:     );
 51: 
 52:     /**
 53:      * Private constructor for PHPWord_IOFactory
 54:      */
 55:     private function __construct()
 56:     {
 57:     }
 58: 
 59:     /**
 60:      * Get search locations
 61:      *
 62:      * @return array
 63:      */
 64:     public static function getSearchLocations()
 65:     {
 66:         return self::$_searchLocations;
 67:     }
 68: 
 69:     /**
 70:      * Set search locations
 71:      *
 72:      * @param array $value
 73:      * @throws Exception
 74:      */
 75:     public static function setSearchLocations($value)
 76:     {
 77:         if (is_array($value)) {
 78:             self::$_searchLocations = $value;
 79:         } else {
 80:             throw new Exception('Invalid parameter passed.');
 81:         }
 82:     }
 83: 
 84:     /**
 85:      * Add search location
 86:      *
 87:      * @param string $type Example: IWriter
 88:      * @param string $location Example: PHPWord/Writer/{0}.php
 89:      * @param string $classname Example: PHPWord_Writer_{0}
 90:      */
 91:     public static function addSearchLocation($type = '', $location = '', $classname = '')
 92:     {
 93:         self::$_searchLocations[] = array('type' => $type, 'path' => $location, 'class' => $classname);
 94:     }
 95: 
 96:     /**
 97:      * Create PHPWord_Writer_IWriter
 98:      *
 99:      * @param PHPWord $PHPWord
100:      * @param string $writerType Example: Word2007
101:      * @return PHPWord_Writer_IWriter
102:      */
103:     public static function createWriter(PHPWord $PHPWord, $writerType = '')
104:     {
105:         $searchType = 'IWriter';
106: 
107:         foreach (self::$_searchLocations as $searchLocation) {
108:             if ($searchLocation['type'] == $searchType) {
109:                 $className = str_replace('{0}', $writerType, $searchLocation['class']);
110:                 $classFile = str_replace('{0}', $writerType, $searchLocation['path']);
111: 
112:                 $instance = new $className($PHPWord);
113:                 if (!is_null($instance)) {
114:                     return $instance;
115:                 }
116:             }
117:         }
118: 
119:         throw new Exception("No $searchType found for type $writerType");
120:     }
121: }
122: 
PHPWord API Docs API documentation generated by ApiGen 2.8.0