Anagram finder
This tool is the result of an exercise (code kata, coding dojo) for test-driven
development (TDD) for PHP using PHPUnit at Oliver Klee's workshops., (*1)
An anagram is pair of two words that consist of exactly the same letters, but
in different order., (*2)
Example: anthologise, theologians, (*3)
The dictionaries have been copied from the
most-common-words-by-language
project., (*4)
Installation
Run composer install
to install the required Composer packages., (*5)
How to run it
bin/find-anagrams
You can also specify a dictionary to use from resources/dictionaries/
:, (*6)
bin/find-anagrams german.txt
The exercises
The big picture is this: "Find and output all anagrams from a text file with a list of words.", (*7)
- Create a class that reads a list of words from a file and returns it as an array.
- Create a class that takes a word and sorts the characters.
- Create a class that finds and returns the anagram from an array of words.
- Deal with duplicates and empty lines in the file gracefully.
- Find the anagrams in a case-insensitive way.
- Sort the anagrams alphabetically during output.
About me (Oliver Klee)
I am the maintainer of the
PHPUnit TYPO3 extension,
which is available in the TYPO3 extension repository (TER)., (*8)
You can book me for
workshops
at your company., (*9)
I also frequently give workshops at the TYPO3 Developer Days., (*10)
More Documentation
Other example projects