We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
Complex classes like Settings often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
While breaking up the class, it is a good idea to analyze how other classes use Settings, and based on these observations, apply Extract Interface, too.
1 | <?php |
||
40 | class Settings implements \ArrayAccess, \JsonSerializable { |
||
41 | |||
42 | /** |
||
43 | * The current no-break narrow space character. |
||
44 | * |
||
45 | * @var string |
||
46 | */ |
||
47 | protected $no_break_narrow_space; |
||
48 | |||
49 | /** |
||
50 | * Primary quote style. |
||
51 | * |
||
52 | * @var Settings\Quotes |
||
53 | */ |
||
54 | protected $primary_quote_style; |
||
55 | |||
56 | /** |
||
57 | * Secondary quote style. |
||
58 | * |
||
59 | * @var Settings\Quotes |
||
60 | */ |
||
61 | protected $secondary_quote_style; |
||
62 | |||
63 | /** |
||
64 | * A regex pattern for custom units (or the empty string). |
||
65 | * |
||
66 | * @var string |
||
67 | */ |
||
68 | protected $custom_units = ''; |
||
69 | |||
70 | /** |
||
71 | * A hashmap of settings for the various typographic options. |
||
72 | * |
||
73 | * @var array |
||
74 | */ |
||
75 | protected $data = []; |
||
76 | |||
77 | /** |
||
78 | * The current dash style. |
||
79 | * |
||
80 | * @var Settings\Dashes |
||
81 | */ |
||
82 | protected $dash_style; |
||
83 | |||
84 | /** |
||
85 | * Sets up a new Settings object. |
||
86 | * |
||
87 | * @since 6.0.0 If $set_defaults is `false`, the settings object is not fully |
||
88 | * initialized unless `set_smart_quotes_primary`, |
||
89 | * `set_smart_quotes_secondary`, `set_smart_dashes_style` and |
||
90 | * `set_true_no_break_narrow_space` are called explicitly. |
||
91 | * |
||
92 | * @param bool $set_defaults If true, set default values for various properties. Defaults to true. |
||
93 | */ |
||
94 | 1 | public function __construct( $set_defaults = true ) { |
|
99 | |||
100 | /** |
||
101 | * Provides access to named settings (object syntax). |
||
102 | * |
||
103 | * @param string $key The settings key. |
||
104 | * |
||
105 | * @return mixed |
||
106 | */ |
||
107 | 1 | public function &__get( $key ) { |
|
110 | |||
111 | /** |
||
112 | * Changes a named setting (object syntax). |
||
113 | * |
||
114 | * @param string $key The settings key. |
||
115 | * @param mixed $value The settings value. |
||
116 | */ |
||
117 | 1 | public function __set( $key, $value ) { |
|
120 | |||
121 | /** |
||
122 | * Checks if a named setting exists (object syntax). |
||
123 | * |
||
124 | * @param string $key The settings key. |
||
125 | */ |
||
126 | 1 | public function __isset( $key ) { |
|
129 | |||
130 | /** |
||
131 | * Unsets a named setting. |
||
132 | * |
||
133 | * @param string $key The settings key. |
||
134 | */ |
||
135 | 1 | public function __unset( $key ) { |
|
138 | |||
139 | /** |
||
140 | * Changes a named setting (array syntax). |
||
141 | * |
||
142 | * @param string $offset The settings key. |
||
143 | * @param mixed $value The settings value. |
||
144 | */ |
||
145 | 1 | public function offsetSet( $offset, $value ) { |
|
150 | |||
151 | /** |
||
152 | * Checks if a named setting exists (array syntax). |
||
153 | * |
||
154 | * @param string $offset The settings key. |
||
155 | */ |
||
156 | 1 | public function offsetExists( $offset ) { |
|
159 | |||
160 | /** |
||
161 | * Unsets a named setting (array syntax). |
||
162 | * |
||
163 | * @param string $offset The settings key. |
||
164 | */ |
||
165 | 1 | public function offsetUnset( $offset ) { |
|
168 | |||
169 | /** |
||
170 | * Provides access to named settings (array syntax). |
||
171 | * |
||
172 | * @param string $offset The settings key. |
||
173 | * |
||
174 | * @return mixed |
||
175 | */ |
||
176 | 1 | public function offsetGet( $offset ) { |
|
179 | |||
180 | /** |
||
181 | * Provides a JSON serialization of the settings. |
||
182 | * |
||
183 | * @return mixed |
||
184 | */ |
||
185 | 1 | public function jsonSerialize() { |
|
197 | |||
198 | /** |
||
199 | * Retrieves the current non-breaking narrow space character (either the |
||
200 | * regular non-breaking space or the the true non-breaking narrow space  ). |
||
201 | * |
||
202 | * @return string |
||
203 | */ |
||
204 | 1 | public function no_break_narrow_space() { |
|
207 | |||
208 | /** |
||
209 | * Retrieves the primary (double) quote style. |
||
210 | * |
||
211 | * @return Settings\Quotes |
||
212 | */ |
||
213 | 1 | public function primary_quote_style() { |
|
216 | |||
217 | /** |
||
218 | * Retrieves the secondary (single) quote style. |
||
219 | * |
||
220 | * @return Settings\Quotes |
||
221 | */ |
||
222 | 1 | public function secondary_quote_style() { |
|
225 | |||
226 | /** |
||
227 | * Retrieves the dash style. |
||
228 | * |
||
229 | * @return Settings\Dashes |
||
230 | */ |
||
231 | 1 | public function dash_style() { |
|
234 | |||
235 | /** |
||
236 | * Retrieves the custom units pattern. |
||
237 | * |
||
238 | * @return string The pattern is suitable for inclusion into a regular expression. |
||
239 | */ |
||
240 | 1 | public function custom_units() { |
|
243 | |||
244 | /** |
||
245 | * (Re)set various options to their default values. |
||
246 | */ |
||
247 | 1 | public function set_defaults() { |
|
310 | |||
311 | /** |
||
312 | * Enable lenient parser error handling (HTML is "best guess" if enabled). |
||
313 | * |
||
314 | * @param bool $on Optional. Default false. |
||
315 | */ |
||
316 | 1 | public function set_ignore_parser_errors( $on = false ) { |
|
319 | |||
320 | /** |
||
321 | * Sets an optional handler for parser errors. Invalid callbacks will be silently ignored. |
||
322 | * |
||
323 | * @since 6.0.0. callable type is enforced via typehinting. |
||
324 | * |
||
325 | * @param callable|null $handler Optional. A callable that takes an array of error strings as its parameter. Default null. |
||
326 | */ |
||
327 | 2 | public function set_parser_errors_handler( callable $handler = null ) { |
|
330 | |||
331 | /** |
||
332 | * Enable usage of true "no-break narrow space" ( ) instead of the normal no-break space ( ). |
||
333 | * |
||
334 | * @param bool $on Optional. Default false. |
||
335 | */ |
||
336 | 1 | public function set_true_no_break_narrow_space( $on = false ) { |
|
344 | |||
345 | /** |
||
346 | * Sets tags for which the typography of their children will be left untouched. |
||
347 | * |
||
348 | * @param string|array $tags A comma separated list or an array of tag names. |
||
349 | */ |
||
350 | 1 | public function set_tags_to_ignore( $tags = [ 'code', 'head', 'kbd', 'object', 'option', 'pre', 'samp', 'script', 'noscript', 'noembed', 'select', 'style', 'textarea', 'title', 'var', 'math' ] ) { |
|
356 | |||
357 | /** |
||
358 | * Sets classes for which the typography of their children will be left untouched. |
||
359 | * |
||
360 | * @param string|array $classes A comma separated list or an array of class names. |
||
361 | */ |
||
362 | 1 | public function set_classes_to_ignore( $classes = [ 'vcard', 'noTypo' ] ) { |
|
365 | |||
366 | /** |
||
367 | * Sets IDs for which the typography of their children will be left untouched. |
||
368 | * |
||
369 | * @param string|array $ids A comma separated list or an array of tag names. |
||
370 | */ |
||
371 | 1 | public function set_ids_to_ignore( $ids = [] ) { |
|
374 | |||
375 | /** |
||
376 | * Enables/disables typographic quotes. |
||
377 | * |
||
378 | * @param bool $on Optional. Default true. |
||
379 | */ |
||
380 | 1 | public function set_smart_quotes( $on = true ) { |
|
383 | |||
384 | /** |
||
385 | * Sets the style for primary ('double') quotemarks. |
||
386 | * |
||
387 | * Allowed values for $style: |
||
388 | * "doubleCurled" => "“foo”", |
||
389 | * "doubleCurledReversed" => "”foo”", |
||
390 | * "doubleLow9" => "„foo”", |
||
391 | * "doubleLow9Reversed" => "„foo“", |
||
392 | * "singleCurled" => "‘foo’", |
||
393 | * "singleCurledReversed" => "’foo’", |
||
394 | * "singleLow9" => "‚foo’", |
||
395 | * "singleLow9Reversed" => "‚foo‘", |
||
396 | * "doubleGuillemetsFrench" => "« foo »", |
||
397 | * "doubleGuillemets" => "«foo»", |
||
398 | * "doubleGuillemetsReversed" => "»foo«", |
||
399 | * "singleGuillemets" => "‹foo›", |
||
400 | * "singleGuillemetsReversed" => "›foo‹", |
||
401 | * "cornerBrackets" => "「foo」", |
||
402 | * "whiteCornerBracket" => "『foo』" |
||
403 | * |
||
404 | * @param string $style Defaults to 'doubleCurled. |
||
405 | * |
||
406 | * @throws \DomainException Thrown if $style constant is invalid. |
||
407 | */ |
||
408 | 3 | public function set_smart_quotes_primary( $style = Quote_Style::DOUBLE_CURLED ) { |
|
411 | |||
412 | /** |
||
413 | * Sets the style for secondary ('single') quotemarks. |
||
414 | * |
||
415 | * Allowed values for $style: |
||
416 | * "doubleCurled" => "“foo”", |
||
417 | * "doubleCurledReversed" => "”foo”", |
||
418 | * "doubleLow9" => "„foo”", |
||
419 | * "doubleLow9Reversed" => "„foo“", |
||
420 | * "singleCurled" => "‘foo’", |
||
421 | * "singleCurledReversed" => "’foo’", |
||
422 | * "singleLow9" => "‚foo’", |
||
423 | * "singleLow9Reversed" => "‚foo‘", |
||
424 | * "doubleGuillemetsFrench" => "« foo »", |
||
425 | * "doubleGuillemets" => "«foo»", |
||
426 | * "doubleGuillemetsReversed" => "»foo«", |
||
427 | * "singleGuillemets" => "‹foo›", |
||
428 | * "singleGuillemetsReversed" => "›foo‹", |
||
429 | * "cornerBrackets" => "「foo」", |
||
430 | * "whiteCornerBracket" => "『foo』" |
||
431 | * |
||
432 | * @param string $style Defaults to 'singleCurled'. |
||
433 | * |
||
434 | * @throws \DomainException Thrown if $style constant is invalid. |
||
435 | */ |
||
436 | 3 | public function set_smart_quotes_secondary( $style = Quote_Style::SINGLE_CURLED ) { |
|
439 | |||
440 | /** |
||
441 | * Retrieves a Quotes instance from a given style. |
||
442 | * |
||
443 | * @param Settings\Quotes|string $style A Quotes instance or a quote style constant. |
||
444 | * |
||
445 | * @throws \DomainException Thrown if $style constant is invalid. |
||
446 | * |
||
447 | * @return Settings\Quotes |
||
448 | */ |
||
449 | 6 | protected function get_quote_style( $style ) { |
|
452 | |||
453 | /** |
||
454 | * Retrieves an object from a given style. |
||
455 | * |
||
456 | * @param object|string $style A style object instance or a style constant. |
||
457 | * @param string $expected_class A class name. |
||
458 | * @param callable $get_style A function that returns a style object from a given style constant. |
||
459 | * @param string $description Style description for the exception message. |
||
460 | * |
||
461 | * @throws \DomainException Thrown if $style constant is invalid. |
||
462 | * |
||
463 | * @return mixed An instance of $expected_class. |
||
464 | */ |
||
465 | 9 | protected function get_style( $style, $expected_class, callable $get_style, $description ) { |
|
478 | |||
479 | /** |
||
480 | * Enables/disables replacement of "a--a" with En Dash " -- " and "---" with Em Dash. |
||
481 | * |
||
482 | * @param bool $on Optional. Default true. |
||
483 | */ |
||
484 | 1 | public function set_smart_dashes( $on = true ) { |
|
487 | |||
488 | /** |
||
489 | * Sets the typographical conventions used by smart_dashes. |
||
490 | * |
||
491 | * Allowed values for $style: |
||
492 | * - "traditionalUS" |
||
493 | * - "international" |
||
494 | * |
||
495 | * @param string|Settings\Dashes $style Optional. Default Dash_Style::TRADITIONAL_US. |
||
496 | * |
||
497 | * @throws \DomainException Thrown if $style constant is invalid. |
||
498 | */ |
||
499 | 3 | public function set_smart_dashes_style( $style = Dash_Style::TRADITIONAL_US ) { |
|
502 | |||
503 | /** |
||
504 | * Enables/disables replacement of "..." with "…". |
||
505 | * |
||
506 | * @param bool $on Optional. Default true. |
||
507 | */ |
||
508 | 1 | public function set_smart_ellipses( $on = true ) { |
|
511 | |||
512 | /** |
||
513 | * Enables/disables replacement "creme brulee" with "crème brûlée". |
||
514 | * |
||
515 | * @param bool $on Optional. Default true. |
||
516 | */ |
||
517 | 1 | public function set_smart_diacritics( $on = true ) { |
|
520 | |||
521 | /** |
||
522 | * Sets the language used for diacritics replacements. |
||
523 | * |
||
524 | * @param string $lang Has to correspond to a filename in 'diacritics'. Optional. Default 'en-US'. |
||
525 | */ |
||
526 | 1 | public function set_diacritic_language( $lang = 'en-US' ) { |
|
543 | |||
544 | /** |
||
545 | * Sets up custom diacritics replacements. |
||
546 | * |
||
547 | * @param string|array $custom_replacements An array formatted [needle=>replacement, needle=>replacement...], |
||
548 | * or a string formatted `"needle"=>"replacement","needle"=>"replacement",... |
||
549 | */ |
||
550 | 5 | public function set_diacritic_custom_replacements( $custom_replacements = [] ) { |
|
568 | |||
569 | /** |
||
570 | * Parses a custom diacritics replacement string into an array. |
||
571 | * |
||
572 | * @param string $custom_replacements A string formatted `"needle"=>"replacement","needle"=>"replacement",... |
||
573 | * |
||
574 | * @return array |
||
575 | */ |
||
576 | private function parse_diacritics_replacement_string( $custom_replacements ) { |
||
592 | |||
593 | /** |
||
594 | * Provides an array_map implementation with control over resulting array's keys. |
||
595 | * |
||
596 | * Based on https://gist.github.com/jasand-pereza/84ecec7907f003564584. |
||
597 | * |
||
598 | * @since 6.0.0 |
||
599 | * |
||
600 | * @param callable $callback A callback function that needs to return [ $key => $value ] pairs. |
||
601 | * @param array $array The array. |
||
602 | * |
||
603 | * @return array |
||
604 | */ |
||
605 | 2 | protected static function array_map_assoc( callable $callback, array $array ) { |
|
618 | |||
619 | /** |
||
620 | * Update the pattern and replacement arrays in $settings['diacriticReplacement']. |
||
621 | * |
||
622 | * Should be called whenever a new diacritics replacement language is selected or |
||
623 | * when the custom replacements are updated. |
||
624 | */ |
||
625 | 6 | private function update_diacritics_replacement_arrays() { |
|
641 | |||
642 | /** |
||
643 | * Parse an array of diacritics rules. |
||
644 | * |
||
645 | * @param array $diacritics_rules The rules ( $word => $replacement ). |
||
646 | * @param array $patterns Resulting patterns. Passed by reference. |
||
647 | * @param array $replacements Resulting replacements. Passed by reference. |
||
648 | */ |
||
649 | 4 | private function parse_diacritics_rules( array $diacritics_rules, array &$patterns, array &$replacements ) { |
|
656 | |||
657 | /** |
||
658 | * Enables/disables replacement of (r) (c) (tm) (sm) (p) (R) (C) (TM) (SM) (P) with ® © ™ ℠ ℗. |
||
659 | * |
||
660 | * @param bool $on Optional. Default true. |
||
661 | */ |
||
662 | 1 | public function set_smart_marks( $on = true ) { |
|
665 | |||
666 | /** |
||
667 | * Enables/disables proper mathematical symbols. |
||
668 | * |
||
669 | * @param bool $on Optional. Default true. |
||
670 | */ |
||
671 | 1 | public function set_smart_math( $on = true ) { |
|
674 | |||
675 | /** |
||
676 | * Enables/disables replacement of 2^2 with 2<sup>2</sup> |
||
677 | * |
||
678 | * @param bool $on Optional. Default true. |
||
679 | */ |
||
680 | 1 | public function set_smart_exponents( $on = true ) { |
|
683 | |||
684 | /** |
||
685 | * Enables/disables replacement of 1/4 with <sup>1</sup>⁄<sub>4</sub>. |
||
686 | * |
||
687 | * @param bool $on Optional. Default true. |
||
688 | */ |
||
689 | 1 | public function set_smart_fractions( $on = true ) { |
|
692 | |||
693 | /** |
||
694 | * Enables/disables replacement of 1st with 1<sup>st</sup>. |
||
695 | * |
||
696 | * @param bool $on Optional. Default true. |
||
697 | */ |
||
698 | 1 | public function set_smart_ordinal_suffix( $on = true ) { |
|
701 | |||
702 | /** |
||
703 | * Enables/disables forcing single character words to next line with the insertion of . |
||
704 | * |
||
705 | * @param bool $on Optional. Default true. |
||
706 | */ |
||
707 | 1 | public function set_single_character_word_spacing( $on = true ) { |
|
710 | |||
711 | /** |
||
712 | * Enables/disables fraction spacing. |
||
713 | * |
||
714 | * @param bool $on Optional. Default true. |
||
715 | */ |
||
716 | 1 | public function set_fraction_spacing( $on = true ) { |
|
719 | |||
720 | /** |
||
721 | * Enables/disables keeping units and values together with the insertion of . |
||
722 | * |
||
723 | * @param bool $on Optional. Default true. |
||
724 | */ |
||
725 | 1 | public function set_unit_spacing( $on = true ) { |
|
728 | |||
729 | /** |
||
730 | * Enables/disables numbered abbreviations like "ISO 9000" together with the insertion of . |
||
731 | * |
||
732 | * @param bool $on Optional. Default true. |
||
733 | */ |
||
734 | 1 | public function set_numbered_abbreviation_spacing( $on = true ) { |
|
737 | |||
738 | /** |
||
739 | * Enables/disables extra whitespace before certain punction marks, as is the French custom. |
||
740 | * |
||
741 | * @since 6.0.0 The default value is now `false`.` |
||
742 | * |
||
743 | * @param bool $on Optional. Default false. |
||
744 | */ |
||
745 | 1 | public function set_french_punctuation_spacing( $on = false ) { |
|
748 | |||
749 | /** |
||
750 | * Sets the list of units to keep together with their values. |
||
751 | * |
||
752 | * @param string|array $units A comma separated list or an array of units. |
||
753 | */ |
||
754 | 1 | public function set_units( $units = [] ) { |
|
758 | |||
759 | /** |
||
760 | * Update components and pattern for matching both standard and custom units. |
||
761 | * |
||
762 | * @param array $units An array of unit names. |
||
763 | */ |
||
764 | 1 | private function update_unit_pattern( array $units ) { |
|
773 | |||
774 | /** |
||
775 | * Enables/disables wrapping of Em and En dashes are in thin spaces. |
||
776 | * |
||
777 | * @param bool $on Optional. Default true. |
||
778 | */ |
||
779 | 1 | public function set_dash_spacing( $on = true ) { |
|
782 | |||
783 | /** |
||
784 | * Enables/disables removal of extra whitespace characters. |
||
785 | * |
||
786 | * @param bool $on Optional. Default true. |
||
787 | */ |
||
788 | 1 | public function set_space_collapse( $on = true ) { |
|
791 | |||
792 | /** |
||
793 | * Enables/disables widow handling. |
||
794 | * |
||
795 | * @param bool $on Optional. Default true. |
||
796 | */ |
||
797 | 1 | public function set_dewidow( $on = true ) { |
|
800 | |||
801 | /** |
||
802 | * Sets the maximum length of widows that will be protected. |
||
803 | * |
||
804 | * @param int $length Defaults to 5. Trying to set the value to less than 2 resets the length to the default. |
||
805 | */ |
||
806 | 1 | public function set_max_dewidow_length( $length = 5 ) { |
|
811 | |||
812 | /** |
||
813 | * Sets the maximum number of words considered for dewidowing. |
||
814 | * |
||
815 | * @param int $number Defaults to 1. Only 1, 2 and 3 are valid. |
||
816 | */ |
||
817 | 1 | public function set_dewidow_word_number( $number = 1 ) { |
|
822 | |||
823 | /** |
||
824 | * Sets the maximum length of pulled text to keep widows company. |
||
825 | * |
||
826 | * @param int $length Defaults to 5. Trying to set the value to less than 2 resets the length to the default. |
||
827 | */ |
||
828 | 1 | public function set_max_dewidow_pull( $length = 5 ) { |
|
833 | |||
834 | /** |
||
835 | * Enables/disables wrapping at internal hard hyphens with the insertion of a zero-width-space. |
||
836 | * |
||
837 | * @param bool $on Optional. Default true. |
||
838 | */ |
||
839 | 1 | public function set_wrap_hard_hyphens( $on = true ) { |
|
842 | |||
843 | /** |
||
844 | * Enables/disables wrapping of urls. |
||
845 | * |
||
846 | * @param bool $on Optional. Default true. |
||
847 | */ |
||
848 | 1 | public function set_url_wrap( $on = true ) { |
|
851 | |||
852 | /** |
||
853 | * Enables/disables wrapping of email addresses. |
||
854 | * |
||
855 | * @param bool $on Optional. Default true. |
||
856 | */ |
||
857 | 1 | public function set_email_wrap( $on = true ) { |
|
860 | |||
861 | /** |
||
862 | * Sets the minimum character requirement after an URL wrapping point. |
||
863 | * |
||
864 | * @param int $length Defaults to 5. Trying to set the value to less than 1 resets the length to the default. |
||
865 | */ |
||
866 | 1 | public function set_min_after_url_wrap( $length = 5 ) { |
|
871 | |||
872 | /** |
||
873 | * Enables/disables wrapping of ampersands in <span class="amp">. |
||
874 | * |
||
875 | * @param bool $on Optional. Default true. |
||
876 | */ |
||
877 | 1 | public function set_style_ampersands( $on = true ) { |
|
880 | |||
881 | /** |
||
882 | * Enables/disables wrapping caps in <span class="caps">. |
||
883 | * |
||
884 | * @param bool $on Optional. Default true. |
||
885 | */ |
||
886 | 1 | public function set_style_caps( $on = true ) { |
|
889 | |||
890 | /** |
||
891 | * Enables/disables wrapping of initial quotes in <span class="quo"> or <span class="dquo">. |
||
892 | * |
||
893 | * @param bool $on Optional. Default true. |
||
894 | */ |
||
895 | 1 | public function set_style_initial_quotes( $on = true ) { |
|
898 | |||
899 | /** |
||
900 | * Enables/disables wrapping of numbers in <span class="numbers">. |
||
901 | * |
||
902 | * @param bool $on Optional. Default true. |
||
903 | */ |
||
904 | 1 | public function set_style_numbers( $on = true ) { |
|
907 | |||
908 | /** |
||
909 | * Enables/disables wrapping of punctiation and wide characters in <span class="pull-*">. |
||
910 | * |
||
911 | * @param bool $on Optional. Default true. |
||
912 | */ |
||
913 | 1 | public function set_style_hanging_punctuation( $on = true ) { |
|
916 | |||
917 | /** |
||
918 | * Sets the list of tags where initial quotes and guillemets should be styled. |
||
919 | * |
||
920 | * @param string|array $tags A comma separated list or an array of tag names. |
||
921 | */ |
||
922 | 1 | public function set_initial_quote_tags( $tags = [ 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'li', 'dd', 'dt' ] ) { |
|
931 | |||
932 | /** |
||
933 | * Enables/disables hyphenation. |
||
934 | * |
||
935 | * @param bool $on Optional. Default true. |
||
936 | */ |
||
937 | 1 | public function set_hyphenation( $on = true ) { |
|
940 | |||
941 | /** |
||
942 | * Sets the hyphenation pattern language. |
||
943 | * |
||
944 | * @param string $lang Has to correspond to a filename in 'lang'. Optional. Default 'en-US'. |
||
945 | */ |
||
946 | 8 | public function set_hyphenation_language( $lang = 'en-US' ) { |
|
953 | |||
954 | /** |
||
955 | * Sets the minimum length of a word that may be hyphenated. |
||
956 | * |
||
957 | * @param int $length Defaults to 5. Trying to set the value to less than 2 resets the length to the default. |
||
958 | */ |
||
959 | 1 | public function set_min_length_hyphenation( $length = 5 ) { |
|
964 | |||
965 | /** |
||
966 | * Sets the minimum character requirement before a hyphenation point. |
||
967 | * |
||
968 | * @param int $length Defaults to 3. Trying to set the value to less than 1 resets the length to the default. |
||
969 | */ |
||
970 | 1 | public function set_min_before_hyphenation( $length = 3 ) { |
|
975 | |||
976 | /** |
||
977 | * Sets the minimum character requirement after a hyphenation point. |
||
978 | * |
||
979 | * @param int $length Defaults to 2. Trying to set the value to less than 1 resets the length to the default. |
||
980 | */ |
||
981 | 1 | public function set_min_after_hyphenation( $length = 2 ) { |
|
986 | |||
987 | /** |
||
988 | * Enables/disables hyphenation of titles and headings. |
||
989 | * |
||
990 | * @param bool $on Optional. Default true. |
||
991 | */ |
||
992 | 1 | public function set_hyphenate_headings( $on = true ) { |
|
995 | |||
996 | /** |
||
997 | * Enables/disables hyphenation of words set completely in capital letters. |
||
998 | * |
||
999 | * @param bool $on Optional. Default true. |
||
1000 | */ |
||
1001 | 1 | public function set_hyphenate_all_caps( $on = true ) { |
|
1004 | |||
1005 | /** |
||
1006 | * Enables/disables hyphenation of words starting with a capital letter. |
||
1007 | * |
||
1008 | * @param bool $on Optional. Default true. |
||
1009 | */ |
||
1010 | 1 | public function set_hyphenate_title_case( $on = true ) { |
|
1013 | |||
1014 | /** |
||
1015 | * Enables/disables hyphenation of compound words (e.g. "editor-in-chief"). |
||
1016 | * |
||
1017 | * @param bool $on Optional. Default true. |
||
1018 | */ |
||
1019 | 1 | public function set_hyphenate_compounds( $on = true ) { |
|
1022 | |||
1023 | /** |
||
1024 | * Sets custom word hyphenations. |
||
1025 | * |
||
1026 | * @param string|array $exceptions An array of words with all hyphenation points marked with a hard hyphen (or a string list of such words). |
||
1027 | * In the latter case, only alphanumeric characters and hyphens are recognized. The default is empty. |
||
1028 | */ |
||
1029 | 2 | public function set_hyphenation_exceptions( $exceptions = [] ) { |
|
1032 | |||
1033 | /** |
||
1034 | * Retrieves a unique hash value for the current settings. |
||
1035 | * |
||
1036 | * @since 5.2.0 The new parameter $raw_output has been added. |
||
1037 | * |
||
1038 | * @param int $max_length Optional. The maximum number of bytes returned (0 for unlimited). Default 16. |
||
1039 | * @param bool $raw_output Optional. Wether to return raw binary data for the hash. Default true. |
||
1040 | * |
||
1041 | * @return string A binary hash value for the current settings limited to $max_length. |
||
1042 | */ |
||
1043 | 1 | public function get_hash( $max_length = 16, $raw_output = true ) { |
|
1052 | } |
||
1053 |