PHP client for Wordnik.com API
This is a PHP client for the Wordnik.com v4 API, for PHP 5.3 or later. For more information, see http://developer.wordnik.com/ . This client has been generated using the Swagger code generator, which builds robust API clients and beautiful API documentation automatically. If you'd like to learn more about Swagger, visit http://swagger.wordnik.com/ (but you don't need to know anything about Swagger to simply use this API client for Wordnik, this page will tell get you up to speed on that account).
If you need help after reading the below, please find us on Google Groups at https://groups.google.com/group/wordnik-api , @wordnikapi on Twitter, or on #wordnik on IRC.
wordnik folder that you downloaded somewhere where it can be accessed by your scripts. Create a connection as follows:
<?php require('./wordnik/Swagger.php'); $myAPIKey = 'YOUR KEY GOES HERE'; $client = new APIClient($myAPIKey, 'http://api.wordnik.com/v4'); ?>
You'll want to edit those first two lines to reflect the full or relative path to the
wordnik folder you downloaded (if it isn't in the same directory as your script), and to use your own personal API key. If you don't have an API key yet, you can get one here: http://developer.wordnik.com/ .
Calling a Method
Once you have a client set up, you need to instantiate an API object for whichever category or categories of items you are interested in working with. For example, to work with the
word API and apply the method
getTopExample method, you can do the following:
<?php $wordApi = new WordApi($client); $example = $wordApi->getTopExample('irony'); print $example->text; ?>
To find out what arguments the method expects, consult the online, interactive documentation at http://developer.wordnik.com/docs , and also check out the method definitions in
You can find out what fields to expect in the return value by using the interactive docs. You can also check out the tests in the
tests/ folder in this repository; each method is shown and tested there. In this case, the documentation in
WordAPI.php shows that
getTopExample returns an instance of
Example, so you would examine that class in
Some methods, like
getDefinitions, also take optional parameters which can be omitted. However, if you want to specify one optional parameter, you have to specify all of the previous mandatory and optional parameters in the function definition. If you don't want to give any value for a parameter, you can put
null. Again, these are shown in the online documentation and in the method defintions.
<?php $definitions = $wordAPI->getDefinitions('badger', $partOfSpeech='verb', $sourceDictionaries='wiktionary', $limit=1); ?>
If you only want to specify the limit, you can usee
null for the preceding values. You can include the names of the arguments if you like, but you don't have to.
<?php $definitions = $wordAPI->getDefinitions('badger', $partOfSpeech=null, $sourceDictionaries=null, $limit=1); $definitions = $wordAPI->getDefinitions('badger', null, null, 1); ?>
$definitions is now an array of instances of the
Definition class defined in
wordnik/models/Definition.php, as indicated in the documentation for
The included tests require PHPUnit. If you require PHPUnit to be installed, first get PEAR:
wget http://pear.php.net/go-pear.phar php -d detect_unicode=0 go-pear.phar
Then install PHPUnit:
pear config-set auto_discover pear install pear.phpunit.de/PHPUnit
The tests require you to set three environment varibales:
export API_KEY=your api key export USER_NAME=some wordnik.com username export PASSWORD=the user's password
The tests can be run as follows:
phpunit tests/AccountApiTest.php phpunit tests/WordApiTest.php phpunit tests/WordsApiTest.php phpunit tests/WordListApiTest.php phpunit tests/WordListsApiTest.php
Copyright 2013 Reverb Technologies, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.