File: docs/quickstart.rst

Recommend this page to a friend!
  Classes of Italo Lelis de Vietro  >  PHP Wunderlist API  >  docs/quickstart.rst  >  Download  
File: docs/quickstart.rst
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: PHP Wunderlist API
Manage user lists using the Wunderlist API
Author: By
Last change: Updated quickstart docs
Added many new features
Date: 5 years ago
Size: 2,623 bytes
 

Contents

Class file image Download
==========
Quickstart
==========

This page provides a quick introduction to Wunderlist PHP SDK and introductory examples.
If you have not already installed, Wunderlist PHP SDK, head over to the :ref:`installation`
page.

The SDK is pretty simple to use, here is an example of how we can access all lists:

.. code-block:: ph

    <?php

    use Wunderlist\Entity\WList;
    use Wunderlist\ClientBuilder;

    // Instanciate wunderlist API manager
    $builder = new ClientBuilder();
    $wunderlist = $builder->build('yourClientId', 'yourClientSecret', 'http://domain.com/oauth/callback');

    //Here we get all lists for the authenticated user
    $lists = $wunderlist->getService(WList::class)->all();

    //For each list on the lists
    $lists->map(function($list) {
        echo $list->getTitle();
    });


What about all taks for a list?

.. code-block:: ph

    <?php

    use Wunderlist\Entity\Task;
    use Wunderlist\Entity\WList;

    //Here we get all lists for the authenticated user
    $lists = $wunderlist->getService(WList::class)->all();

    //For each list on the lists
    $lists->map(function($list) {
        $tasks = wunderlist->getService(Task::class)->forList($list);
        $tasks->map(function($task){
            echo $task->getTitle();
        });
    });


Ok, now lets create a task for a list

.. code-block:: php
    <?php

    use Wunderlist\Entity\WList;
    use Wunderlist\Entity\Task;

    //Here we get all lists for the authenticated user
    $lists = $wunderlist->getService(WList::class)->all();

    //We get the first list
    $list = $lists->first();

    $task = new Task();
    $task->setListID($list->getId())
        ->setTitle('Test Hello');

    $wunderlist->save($task);


This is just some simple things you can do with the SDK. Whant more? please just read our [documentation](http://wunderlist.readthedocs.org/)


Requests
========

By default all requests made to the API are syncronous, this is because we use the *GuzzleAdapter*.
But if you want to make asyncronous request you need to change the adapter *AsyncGuzzleAdapter*, this
will allow to make calls like this:

.. code-block:: php

     $service = $wunderlist->getService(WList::class);
     $service->all()->done(function($lists){
            $lists->map(function($list){
                echo $list->getTitle();
            });
     });

To change the default HttpClient adapter just change on *ClientBuilder*:

.. code-block:: php

    $builder = new Wunderlist\ClientBuilder();
    $wunderlist = $builder->setHttpClient(Wunderlist\Http\AsyncGuzzleAdapter::class)
                          ->build();

For more information send a message to info at phpclasses dot org.