diff --git a/README.md b/README.md index 8326612c..7a01f94e 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,20 @@ Installation [Get Composer], the PHP package manager. Then create a composer.json file in your projects root folder, containing: - { - "require": { - "parse/php-sdk" : "1.0.*" - } - } +```json +{ + "require": { + "parse/php-sdk" : "1.0.*" + } +} +``` Run "composer install" to download the SDK and set up the autoloader, and then require it from your PHP script: - require 'vendor/autoload.php'; +```php +require 'vendor/autoload.php'; +``` Usage ----- @@ -29,138 +33,155 @@ Check out the [Parse PHP Guide] for the full documentation. Add the "use" declarations where you'll be using the classes. For all of the sample code in this file: - use Parse\ParseObject; - use Parse\ParseQuery; - use Parse\ParseACL; - use Parse\ParsePush; - use Parse\ParseUser; - use Parse\ParseInstallation; - use Parse\ParseException; - use Parse\ParseAnalytics; - use Parse\ParseFile; - use Parse\ParseCloud; - +```php +use Parse\ParseObject; +use Parse\ParseQuery; +use Parse\ParseACL; +use Parse\ParsePush; +use Parse\ParseUser; +use Parse\ParseInstallation; +use Parse\ParseException; +use Parse\ParseAnalytics; +use Parse\ParseFile; +use Parse\ParseCloud; +``` Objects: - $object = ParseObject::create("TestObject"); - $objectId = $object->getObjectId(); - $php = $object->get("elephant"); +```php +$object = ParseObject::create("TestObject"); +$objectId = $object->getObjectId(); +$php = $object->get("elephant"); - // Set values: - $object->set("elephant", "php"); - $object->set("today", new DateTime()); - $object->setArray("mylist", [1, 2, 3]); - $object->setAssociativeArray( - "languageTypes", array("php" => "awesome", "ruby" => "wtf") - ); +// Set values: +$object->set("elephant", "php"); +$object->set("today", new DateTime()); +$object->setArray("mylist", [1, 2, 3]); +$object->setAssociativeArray( + "languageTypes", array("php" => "awesome", "ruby" => "wtf") +); - // Save: - $object->save(); +// Save: +$object->save(); +``` Users: - // Signup - $user = new ParseUser(); - $user->setUsername("foo"); - $user->setPassword("Q2w#4!o)df"); - try { - $user->signUp(); - } catch (ParseException $ex) { - // error in $ex->getMessage(); - } - - // Login - try { - $user = ParseUser::logIn("foo", "Q2w#4!o)df"); - } catch(ParseException $ex) { - // error in $ex->getMessage(); - } - - // Current user - $user = ParseUser::getCurrentUser(); +```php +// Signup +$user = new ParseUser(); +$user->setUsername("foo"); +$user->setPassword("Q2w#4!o)df"); +try { + $user->signUp(); +} catch (ParseException $ex) { + // error in $ex->getMessage(); +} + +// Login +try { + $user = ParseUser::logIn("foo", "Q2w#4!o)df"); +} catch(ParseException $ex) { + // error in $ex->getMessage(); +} + +// Current user +$user = ParseUser::getCurrentUser(); +``` Security: - // Access only by the ParseUser in $user - $userACL = ParseACL::createACLWithUser($user); +```php +// Access only by the ParseUser in $user +$userACL = ParseACL::createACLWithUser($user); - // Access only by master key - $restrictedACL = new ParseACL(); +// Access only by master key +$restrictedACL = new ParseACL(); - // Set individual access rights - $acl = new ParseACL(); - $acl->setPublicReadAccess(true); - $acl->setPublicWriteAccess(false); - $acl->setUserWriteAccess($user, true); - $acl->setRoleWriteAccessWithName("PHPFans", true); +// Set individual access rights +$acl = new ParseACL(); +$acl->setPublicReadAccess(true); +$acl->setPublicWriteAccess(false); +$acl->setUserWriteAccess($user, true); +$acl->setRoleWriteAccessWithName("PHPFans", true); +``` Queries: - $query = new ParseQuery("TestObject"); +```php +$query = new ParseQuery("TestObject"); - // Get a specific object: - $object = $query->get("anObjectId"); +// Get a specific object: +$object = $query->get("anObjectId"); - $query->limit(10); // default 100, max 1000 +$query->limit(10); // default 100, max 1000 - // All results: - $results = $query->find(); +// All results: +$results = $query->find(); - // Just the first result: - $first = $query->first(); +// Just the first result: +$first = $query->first(); - // Process ALL (without limit) results with "each". - // Will throw if sort, skip, or limit is used. - $query->each(function($obj) { - echo $obj->getObjectId(); - }); +// Process ALL (without limit) results with "each". +// Will throw if sort, skip, or limit is used. +$query->each(function($obj) { + echo $obj->getObjectId(); +}); +``` Cloud Functions: - $results = ParseCloud::run("aCloudFunction", array("from" => "php")); +```php +$results = ParseCloud::run("aCloudFunction", array("from" => "php")); +``` Analytics: - PFAnalytics::trackEvent("logoReaction", array( - "saw" => "elephant", - "said" => "cute" - )); +```php +PFAnalytics::trackEvent("logoReaction", array( + "saw" => "elephant", + "said" => "cute" +)); +``` Files: - // Get from a Parse Object: - $file = $aParseObject->get("aFileColumn"); - $name = $file->getName(); - $url = $file->getURL(); - // Download the contents: - $contents = $file->getData(); +```php +// Get from a Parse Object: +$file = $aParseObject->get("aFileColumn"); +$name = $file->getName(); +$url = $file->getURL(); +// Download the contents: +$contents = $file->getData(); - // Upload from a local file: - $file = ParseFile::createFromFile( - "/tmp/foo.bar", "Parse.txt", "text/plain" - ); +// Upload from a local file: +$file = ParseFile::createFromFile( + "/tmp/foo.bar", "Parse.txt", "text/plain" +); - // Upload from variable contents (string, binary) - $file = ParseFile::createFromData($contents, "Parse.txt", "text/plain"); +// Upload from variable contents (string, binary) +$file = ParseFile::createFromData($contents, "Parse.txt", "text/plain"); +``` Push: - $data = array("alert" => "Hi!"); +```php +$data = array("alert" => "Hi!"); - // Push to Channels - ParsePush::send(array( - "channels" => ["PHPFans"], - "data" => $data - )); +// Push to Channels +ParsePush::send(array( + "channels" => ["PHPFans"], + "data" => $data +)); - // Push to Query - $query = ParseInstallation::query(); - $query->equalTo("design", "rad"); - ParsePush::send(array( - "where" => $query, - "data" => $data - )); +// Push to Query +$query = ParseInstallation::query(); +$query->equalTo("design", "rad"); +ParsePush::send(array( + "where" => $query, + "data" => $data +)); +``` Contributing / Testing ---------------------- @@ -169,4 +190,4 @@ See the CONTRIBUTORS.md file for information on testing and contributing to the Parse PHP SDK. We welcome fixes and enhancements. [Get Composer]: https://getcomposer.org/download/ -[Parse PHP Guide]: https://www.parse.com/docs/php_guide \ No newline at end of file +[Parse PHP Guide]: https://www.parse.com/docs/php_guide