====== Get Started with PHP ======
The following tutorial will walk you through the steps to create a new Entourage-powered web application for PHP.
===== Prerequisites =====
Before you get started, you will need to download and install PHP and configure a web server to make use of it. There are many options for creating a local PHP development environment on your workstation. The easiest way to do that is to download a full stack solution like:
* [[http://www.mamp.info/en/index.html|MAMP]] (for Mac OSX)
* [[http://www.wampserver.com/en/|WAMP]] (for Windows)
* [[http://www.apachefriends.org/en/xampp.html|XAMPP]] (Win,*NIX, Mac OSX)
Of course, access to a more traditional LAMP server will also work.
===== Create a new project =====
Download the [[http://appcelerator.org/download|Entourage Service Broker implementation for PHP]] and unzip it in the directory in which you would like to develop your application. In your Apache configuration, set [project root]/public to be the document root for your application. Restart Apache and you should be good to go!
===== Hello World =====
Let’s start by creating a simple user interface that will test remote messaging. Lets create [project root]/public/hello_world.html and replace the body contents with the following:
Appcelerator Entourage™ Hello World
You typed:
nothing yet
Test out your new application by accessing it at the following url: http://localhost/hello_world.html
=== User Interface Explanation ===
There are several basic concepts covered in this example. First, we use the fieldset attribute to link the TEXTAREA with the INPUT button. When a click event is generated by an element with a fieldset, Appcelerator will look for other input elements with the same fieldset value, and it will include their values in the message generated by the click event. This feature is very useful when creating forms.
Second, we show how an element can subscribe to a message and set its value based on an attribute in the message payload - in this case the message attribute.
Finally, we show an example of how to create a mock service. A mock service is a SCRIPT widget that subscribes to a remote request and responds with a remote response. This is a powerful capability because it enables you to create fully functional user interfaces (UI) without writing a single line of service code. These UIs are also 100% reusable. Once you finish your UI, you can remove your mock services as you create the remote service implementations. We call this Interactive Use Case development. You can learn more about Interactive Use Cases in the Best Practices section of this documentation.
=== Service ===
Now we’re ready to implement the service for our Hello World example. First, remove (or comment out) the mock service that you created above. Next, open [project root]/app/services/test_service.php and create a new service method like the one below:
/*
* @Service(request = "hello.world.request", response = "hello.world.response")
*/
function helloWorld (&$request,&$response)
{
$responseData = &$response["data"];
$requestData = $request["data"];
$responseData["message"] = $requestData["your_message"];
}
You should now be able to open your example HTML page and run the code against our new service method.