Hoa central
Word.php
Go to the documentation of this file.
1 <?php
2 
38 
47 class Word implements Autocompleter
48 {
54  protected $_words = null;
55 
56 
57 
64  public function __construct(Array $words)
65  {
66  $this->setWords($words);
67 
68  return;
69  }
70 
78  public function complete(&$prefix)
79  {
80  $out = [];
81  $length = mb_strlen($prefix);
82 
83  foreach ($this->getWords() as $word) {
84  if (mb_substr($word, 0, $length) === $prefix) {
85  $out[] = $word;
86  }
87  }
88 
89  if (empty($out)) {
90  return null;
91  }
92 
93  if (1 === count($out)) {
94  return $out[0];
95  }
96 
97  return $out;
98  }
99 
105  public function getWordDefinition()
106  {
107  return '\b\w+\b';
108  }
109 
116  public function setWords(Array $words)
117  {
118  $old = $this->_words;
119  $this->_words = $words;
120 
121  return $old;
122  }
123 
129  public function getWords()
130  {
131  return $this->_words;
132  }
133 }