A new type of PHP, part 1: Return types

+ADw-p+AD4-Every significant release of PHP adds a number of new features, with one or two that really define the release. ??For PHP 5.3, it was namespaces and anonymous functions. ??For PHP 5.4, it was traits. ??For PHP 5.5, generators. ??For PHP 5.6, variadics.+ADw-/p+AD4
+ADw-p+AD4-While PHP 7 has a large array of new improvements to make developers lives easier and involve less hair loss, I believe that long term the improvements to how PHP handles variable typing will be the defining feature of this release. ??It+ACYAIw-8217+ADs-s not a single change but actually a combination of a few closely-related changes that will change the way we write PHP, and for the better.+ADw-/p+AD4
+ADw-p+AD4-Why does strong typing support matter? ??Because types serve as a +ACYAIw-8220+ADs-junior version+ACYAIw-8221+ADs of your code. ??They provide a program +ACYAIw-8211+ADs either the compiler or the runtime +ACYAIw-8211+ADs and other developers with valuable information about what the developer is trying to do without having to run the program itself. ??That enables three benefits:+ADw-/p+AD4
+ADw-ol+AD4
+ADw-li style+AD0AIg-font-weight: 400+ADsAIgA+-It becomes much easier to communicate the intent of a piece of code to other developers, who can understand the code more readily. It+ACYAIw-8217+ADs-s like documentation but better+ACEAPA-/li+AD4
+ADw-li style+AD0AIg-font-weight: 400+ADsAIgA+-Because explicit typing forces more narrowly-defined behavior, it encourages more decoupled and single-purpose code+ADs that+ACYAIw-8217+ADs-s valuable in its own right.+ADw-/li+AD4
+ADw-li style+AD0AIg-font-weight: 400+ADsAIgA+-Because a program can read and understand explicit types just as well as a human can, a program can analyze your code and find bugs for you+ACYAIw-8230+ADs before you even try running it+ACEAPA-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-In the vast majority of cases, explicitly typed code will be easier to understand, better structured, and have fewer bugs than untyped or loosely typed code. ??And for the small percentage of cases where strong typing is really more trouble than it+ACYAIw-8217+ADs-s worth, don+ACYAIw-8217+ADs-t worry+ADs PHP+ACYAIw-8217+ADs-s type checking is still all opt-in, as it always has been. ??But really, you should opt-in almost all the type.+ADw-/p+AD4
+ADw-h2+AD4-Return types+ADw-/h2+AD4
+ADw-p+AD4-The first addition to the type system is support for return types. ??Functions and methods can now specify the type of value they return explicitly. ??Consider the following example:+ADw-/p+AD4APA-pre class+AD0AIg-crayon-plain-tag+ACIAPg-class Address +AHs

+ACY-nbsp+ADs-protected +ACQ-street+ADs
+ACY-nbsp+ADs-protected +ACQ-city+ADs
+ACY-nbsp+ADs-protected +ACQ-state+ADs
+ACY-nbsp+ADs-protected +ACQ-zip+ADs

+ACY-nbsp+ADs-public function +AF8AXw-construct(+ACQ-street, +ACQ-city, +ACQ-state, +ACQ-zip) +AHs
+ACY-nbsp+ADsAJg-nbsp+ADsAJg-nbsp+ADsAJA-this-+ACY-gt+ADs-street +AD0 +ACQ-street+ADs
+ACY-nbsp+ADsAJg-nbsp+ADsAJg-nbsp+ADsAJA-this-+ACY-gt+ADs-city +AD0 +ACQ-city+ADs
+ACY-nbsp+ADsAJg-nbsp+ADsAJg-nbsp+ADsAJA-this-+ACY-gt+ADs-state +AD0 +ACQ-state+ADs
+ACY-nbsp+ADsAJg-nbsp+ADsAJg-nbsp+ADsAJA-this-+ACY-gt+ADs-zip +AD0 +ACQ-zip+ADs
+ACY-nbsp+ADsAfQ

+ACY-nbsp+ADs-public function getStreet() +AHs return +ACQ-this-+ACY-gt+ADs-street+ADs +AH0
+ACY-nbsp+ADs-public function getCity() +AHs return +ACQ-this-+ACY-gt+ADs-city+ADs +AH0
+ACY-nbsp+ADs-public function getState() +AHs return +ACQ-this-+ACY-gt+ADs-state+ADs +AH0
+ACY-nbsp+ADs-public function getZip() +AHs return +ACQ-this-+ACY-gt+ADs-zip+ADs +AH0

+AH0

class Employee +AHs
+ACY-nbsp+ADs-protected +ACQ-address+ADs

+ACY-nbsp+ADs-public function +AF8AXw-construct(Address +ACQ-address) +AHs
+ACY-nbsp+ADsAJg-nbsp+ADsAJg-nbsp+ADsAJA-this-+ACY-gt+ADs-address +AD0 +ACQ-address+ADs
+ACY-nbsp+ADsAfQ

+ACY-nbsp+ADs-public function getAddress() : Address +AHs
+ACY-nbsp+ADsAJg-nbsp+ADsAJg-nbsp+ADs-return +ACQ-this-+ACY-gt+ADs-address+ADs
+ACY-nbsp+ADsAfQ
+AH0

+ACQ-a +AD0 new Address(‘123 Main St.’, ‘Chicago’, ‘IL’, ‘60614’)+ADs
+ACQ-e +AD0 new Employee(+ACQ-a)+ADs

print +ACQ-e-+ACY-gt+ADs-getAddress()-+ACY-gt+ADs-getStreet() . PHP+AF8-EOL+ADs
// Prints 123 Main St.+ADw-/pre+AD4APA-p+AD4-In this rather mundane example, we have an Employee object that has only one meaningful property, a well-formed US postal address. ??Note the syntax of the getAddress() method, however. ??After the function parameters we have a colon and a type. ??That type is the one and only legal type that the return value of that method may have.+ADw-/p+AD4
+ADw-p+AD4-The postfix syntax for return types may look odd to developers used to C, C, or Java, where it comes before the method. ??However, as a practical matter that didn+ACYAIw-8217+ADs-t work for PHP as it would have confused the parser with the many optional keywords that can come before the function name. ??Instead, PHP opted for a postfix notation similar to Go, Rust, or Scala.+ADw-/p+AD4
+ADw-p+AD4-The result is that we know, as does PHP itself, that what comes back from getAddress() can only ever be an Address object. ??Any other option is an error, and will throw a TypeError. ??Even null won+ACYAIw-8217+ADs-t satisfy that requirement+ADs it must be an Address. That+ACYAIw-8217+ADs-s what makes our print statement safe: We know, with absolute certainty, that the return value is a full and real Address object, not null, not false, not a string, not some other object. ??And therefore we can make assumptions about what we can safely do with it, which makes our own code cleaner. ??If somehow it+ACYAIw-8217+ADs-s not, PHP will catch it for us because the author of getAddress() messed up by promising an Address and not coming through.+ADw-/p+AD4
+ADw-p+AD4-But what if we have a less trivial case, and there is no Address? ??Let+ACYAIw-8217+ADs-s introduce an EmployeeRepository, which of course may not have a given record. ??First we give Employee an ID:+ADw-/p+AD4APA-pre class+AD0AIg-crayon-plain-tag+ACIAPg-class Employee +AHs

protected +ACQ-id+ADs
protected +ACQ-address+ADs

public function +AF8AXw-construct(+ACQ-id, Address +ACQ-address) +AHs

+ACQ-this-+ACY-gt+ADs-id +AD0 +ACQ-id+ADs
+ACQ-this-+ACY-gt+ADs-address +AD0 +ACQ-address+ADs

+AH0

public function getAddress() : Address +AHs
return +ACQ-this-+ACY-gt+ADs-address+ADs
+AH0

+AH0APA-/pre+AD4APA-p+AD4-And now create our repository. ??(We+ACYAIw-8217+ADs-re just stubbing out dummy data in the constructor for now, but in practice of course you+ACYAIw-8217+ADs-d have a database of some sort behind it.)+ADw-/p+AD4APA-pre class+AD0AIg-crayon-plain-tag+ACIAPg-class EmployeeRepository +AHs

private +ACQ-data +AD0 +AFsAXQA7
public function +AF8AXw-construct() +AHs

+ACQ-this-+ACY-gt+ADs-data+AFs-123+AF0 +AD0 new Employee(123, new Address(‘123 Main St.’, ‘Chicago’, ‘IL’, ‘60614’))+ADs
+ACQ-this-+ACY-gt+ADs-data+AFs-456+AF0 +AD0 new Employee(456, new Address(’45 Hull St’, ‘Boston’, ‘MA’, ‘02113’))+ADs

+AH0

public function findById(+ACQ-id) : Employee +AHs
return +ACQ-this-+ACY-gt+ADs-data+AFsAJA-id+AF0AOw
+AH0

+AH0

+ACQ-r +AD0 new EmployeeRepository()+ADs

print +ACQ-r-+ACY-gt+ADs-findById(123)-+ACY-gt+ADs-getAddress()-+ACY-gt+ADs-getStreet() . PHP+AF8-EOL+ADsAPA-/pre+AD4APA-p+AD4-Most readers will quickly notice that findById() is quite buggy, as if we ask for a non-existent Employee ID PHP will return NULL, and then our getAddress() call will die with the dreaded +ACYAIw-8220+ADs-method called on non-object+ACYAIw-8221+ADs error. ??But that+ACYAIw-8217+ADs-s not actually where the bug is. ??The bug is that findById() is supposed to return an Employee+ADs if it doesn+ACYAIw-8217+ADs-t findById() has the bug, not our code. ??By specifying a return type of Employee, we make it clear whose bug it is.+ADw-/p+AD4
+ADw-p+AD4-What do we do if there really is no such employee? ??There+ACYAIw-8217+ADs-s two options: One is to throw an exception+ADs if we can+ACYAIw-8217+ADs-t return what we promised we+ACYAIw-8217+ADs-d return, that+ACYAIw-8217+ADs-s cause for special handling outside of the normal flow of our code. ??The other is to specify an interface to return instead (which you really really should do) and define an +ACYAIw-8220+ADs-empty+ACYAIw-8221+ADs implementation of it. ??That way, remaining code will still work (as in, not fatal) and we can control what happens in +ACYAIw-8220+ADs-empty+ACYAIw-8221+ADs cases.+ADw-/p+AD4
+ADw-p+AD4-Which approach you take depends on the use case, and what the implications of an object of the correct type not being available are. ??In the case of a repository like here, I would argue an exception is preferred as the odds of the code that follows being able to work are minimal. ??If we were dealing with a value object with a logical +ACYAIw-8220+ADs-empty+ACYAIw-8221+ADs +ACYAIw-8211+ADs say, Address +ACYAIw-8211+ADs then an +ACYAIw-8220+ADs-empty value+ACYAIw-8221+ADs object is probably workable. ??Let+ACYAIw-8217+ADs-s modify our code accordingly (Just the parts with changes are shown for brevity):+ADw-/p+AD4APA-pre class+AD0AIg-crayon-plain-tag+ACIAPg-interface AddressInterface +AHs

public function getStreet()+ADs
public function getCity()+ADs
public function getState()+ADs
public function getZip()+ADs

+AH0

class EmptyAddress implements AddressInterface +AHs

public function getStreet() +AHs return ”+ADs +AH0
public function getCity() +AHs return ”+ADs +AH0
public function getState() +AHs return ”+ADs +AH0
public function getZip() +AHs return ”+ADs +AH0

+AH0

class Address implements AddressInterface +AHs

// …

+AH0

class Employee +AHs

// …

public function getAddress() : AddressInterface +AHs

return +ACQ-this-+ACY-gt+ADs-address+ADs

+AH0

+AH0

class EmployeeRepository +AHs

// …

public function findById(+ACQ-id) : Employee +AHs

if (+ACE-isset(+ACQ-this-+ACY-gt+ADs-data+AFsAJA-id+AF0)) +AHs
throw new InvalidArgumentException(‘No such Employee: ‘ . +ACQ-id)+ADs
+AH0
return +ACQ-this-+ACY-gt+ADs-data+AFsAJA-id+AF0AOw
+AH0

+AH0

try +AHs
print +ACQ-r-+ACY-gt+ADs-findById(123)-+ACY-gt+ADs-getAddress()-+ACY-gt+ADs-getStreet() . PHP+AF8-EOL+ADs
print +ACQ-r-+ACY-gt+ADs-findById(789)-+ACY-gt+ADs-getAddress()-+ACY-gt+ADs-getStreet() . PHP+AF8-EOL+ADs
+AH0 catch (InvalidArgumentException +ACQ-e) +AHs
print +ACQ-e-+ACY-gt+ADs-getMessage() . PHP+AF8-EOL+ADs
+AH0

/+ACo
+ACo Prints:
+ACo 123 Main St.
+ACo No such Employee: 789
+ACo-/+ADw-/pre+AD4APA-p+AD4-Now +ADw-code+AD4-getStreet()+ADw-/code+AD4 will give us a nice empty value, while a missing employee is cause for a freak-out, er, Exception.+ADw-/p+AD4
+ADw-p+AD4-One other important note about return types: When extending a class, the return type cannot be changed, even to make it more specific (to a subclass for instance). ??The reason for that is PHP+ACYAIw-8217+ADs-s lazy-loaded nature. ??The engine doesn+ACYAIw-8217+ADs-t know what classes are defined when compiling the code, so it doesn+ACYAIw-8217+ADs-t know if Address really is a specialization of AddressInterface.+ADw-/p+AD4
+ADw-p+AD4-Return types are great, but they+ACYAIw-8217+ADs-re not the only addition to PHP+ACYAIw-8217+ADs-s type system. In part 2, we+ACYAIw-8217+ADs-ll look at the other, arguably more important change: Scalar typing.+ADw-/p+AD4
+ADw-p+AD4APA-strong+AD4-PHP 7 Resources+ADw-/strong+AD4APA-/p+AD4
+ADw-p+AD4APA-u+AD4-Jumpstart Training+ADw-/u+AD4APA-/p+AD4
+ADw-p+AD4APA-span style+AD0AIg-line-height: 1.714285714+ADs font-size: 1rem+ADsAIgA+-Get the knowledge you need to ensure your applications are ready to take advantage of the innovations and performance enhancement introduced in PHP7.+ADw-/span+AD4APA-/p+AD4
+ADw-p+AD4APA-span style+AD0AIg-line-height: 1.714285714+ADs font-size: 1rem+ADsAIgA+ADw-a href+AD0AIg-http://www.zend.com/storeapi/index/redirect/?uri+AD0-php-7-jump-start.html+ACI target+AD0AIgBf-blank+ACIAPg-Reserve your spot now +ACY-gt+ADsAPA-/a+AD4APA-/span+AD4APA-/p+AD4
+ADw-p+AD4AJg-nbsp+ADsAPA-/p+AD4
+ADw-p+AD4-The post +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com/6620/a-new-type-of-php-part-1-return-types/+ACIAPg-A new type of PHP, part 1: Return types+ADw-/a+AD4 appeared first on +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com+ACIAPg-Zend Developer Zone+ADw-/a+AD4.+ADw-/p+AD4
+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/PHPDevZone/+AH4-4/il336wv15Io+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : A new type of PHP, part 1: Return types

Announcing Expressive

+ADw-p+AD4
We are pleased to announce the immediate availability of a new project, +ADw-a href+AD0AIg-https://github.com/zendframework/zend-expressive+ACIAPg-Expressive+ADw-/a+AD4AIQ
+ADw-/p+AD4
+ADw-p+AD4
Expressive allows you to write +ADw-a href+AD0AIg-http://www.php-fig.org/psr/psr-7/+ACIAPg-PSR-7+ADw-/a+AD4 +ADw-a href+AD0AIg-https://github.com/zendframework/zend-stratigility/blob/master/doc/book/middleware.md+ACIAPg-middleware+ADw-/a+AD4 applications for the web. It is a simple micro-framework built on top of +ADw-a href+AD0AIg-https://github.com/zendframework/zend-stratigility+ACIAPg-Stratigility+ADw-/a+AD4, providing:
+ADw-/p+AD4
+ADw-ul+AD4
+ADw-li+AD4-Dynamic routing+ADw-/li+AD4
+ADw-li+AD4-Dependency injection via container-interop+ADw-/li+AD4
+ADw-li+AD4-Templating+ADw-/li+AD4
+ADw-li+AD4-Error Handling+ADw-/li+AD4
+ADw-/ul+AD4
+ADw-h2+AD4-Installation and Quick Start+ADw-/h2+AD4
+ADw-p+AD4
Expressive can get you up and running with an application in minutes.
+ADw-/p+AD4
+ADw-p+AD4
To install, use +ADw-a href+AD0AIg-https://getcomposer.org+ACIAPg-Composer+ADw-/a+AD4:
+ADw-/p+AD4
+ADw-p+AD4APA-/p+AD4APA-pre class+AD0AIg-crayon-plain-tag+ACIAPgAk composer require zendframework/zend-expressive aura/router zendframework/zend-servicemanager+ADw-/pre+AD4APA-p+AD4APA-/p+AD4
+ADw-p+AD4
From there to +ACYAIw-8220+ADs-hello, world,+ACYAIw-8221+ADs, all you now need is a single file:
+ADw-/p+AD4
+ADw-p+AD4APA-/p+AD4APA-pre class+AD0AIg-crayon-plain-tag+ACIAPg-// In index.php
use Zend+AFw-Expressive+AFw-AppFactory+ADs

require ‘vendor/autoload.php’+ADs

+ACQ-app +AD0 AppFactory::create()+ADs
+ACQ-app-+ACY-gt+ADs-route(‘/’, function (+ACQ-request, +ACQ-response, +ACQ-next) +AHs
+ACQ-response-+ACY-gt+ADs-getBody()-+ACY-gt+ADs-write(‘Hello, world+ACE’)+ADs
return +ACQ-response+ADs
+AH0)+ADs
+ACQ-app-+ACY-gt+ADs-run()+ADsAPA-/pre+AD4APA-p+AD4APA-/p+AD4
+ADw-p+AD4
From there, fire up the built-in web server:
+ADw-/p+AD4
+ADw-p+AD4APA-/p+AD4APA-pre class+AD0AIg-crayon-plain-tag+ACIAPgAk php -S 0.0.0.0:8080 -t .+ADw-/pre+AD4APA-p+AD4APA-/p+AD4
+ADw-p+AD4
Browse to localhost:8080, and you should see it running+ACE
+ADw-/p+AD4
+ADw-p+AD4
Visit +ADw-a href+AD0AIg-http://zend-expressive.readthedocs.org/en/stable/quick-start/+ACIAPg-our documentation for the full quick start+ADw-/a+AD4.
+ADw-/p+AD4
+ADw-h2+AD4-Breaking out of the box+ADw-/h2+AD4
+ADw-p+AD4
A huge part of the PHP Renaissance has been due to the advent of +ADw-a href+AD0AIg-https://getcomposer.org+ACIAPg-Composer+ADw-/a+AD4, which has simplified dependency management, and led to tens of thousands of standalone libraries and packages. As such, frameworks, while still popular, are often being eschewed for homemade, application-specific frameworks made of commodity components. Frameworks simply cannot ignore this trend, and decoupling should become the norm going forward.
+ADw-/p+AD4
+ADw-p+AD4
With +ADw-a href+AD0AIg-https://apigility.org+ACIAPg-Apigility+ADw-/a+AD4, the Zend Framework team began using third party software as part of the solutions it provides. With Expressive, we took that even further: we provide abstractions for routing and templating capabilities, but largely rely on third-party libraries for the recommended implementations.
+ADw-/p+AD4
+ADw-p+AD4
Expressive features integrations with:
+ADw-/p+AD4
+ADw-ul+AD4
+ADw-li+AD4-Aura.Router+ADw-/li+AD4
+ADw-li+AD4-FastRoute+ADw-/li+AD4
+ADw-li+AD4-Pimple+ADw-/li+AD4
+ADw-li+AD4-Plates+ADw-/li+AD4
+ADw-li+AD4-Twig+ADw-/li+AD4
+ADw-/ul+AD4
+ADw-p+AD4
as well as related Zend Framework components. In most cases, integrations were developed for third party libraries +ADw-em+AD4-before+ADw-/em+AD4 we wrote integrations with Zend Framework components+ACE
+ADw-/p+AD4
+ADw-p+AD4
As such, Expressive is a small, single-purpose component that can integrate other components to create a custom middleware runtime for your applications.
+ADw-/p+AD4
+ADw-h2+AD4-Where does this fit with Zend Framework?+ADw-/h2+AD4
+ADw-p+AD4
We feel that PSR-7 opens new paradigms for both interoperability as well as for application design. Middleware offers a pattern for re-use and composability that is often far simpler to understand, and which often allows building complex applications from smaller pieces. As such, we want to provide an easy way to build middleware-based applications +ADw-em+AD4-now+ADw-/em+AD4.
+ADw-/p+AD4
+ADw-p+AD4
We will, however, continue to ship Zend Framework and its full-stack MVC. Many complex applications can benefit from the highly flexible structure it provides, and we plan to continue supporting those users well into the future. We also plan to add capabilities (quite soon+ACE) for executing PSR-7 based middleware from within Zend Framework applications+ADs this provides migration paths in both directions for developers.
+ADw-/p+AD4
+ADw-h2+AD4-More Information and Roadmap+ADw-/h2+AD4
+ADw-p+AD4
Expressive is open source software, and we+ACYAIw-8217+ADs-re trying to follow the mantra of +ACYAIw-8220+ADs-release early, release often.+ACYAIw-8221+ADs As such, our initial stable tag is at 0.1.0, and we+ACYAIw-8217+ADs-re requesting that you start playing with it and letting us know what works and what doesn+ACYAIw-8217+ADs-t. You can report issues on the +ADw-a href+AD0AIg-https://github.com/zendframework/zend-expressive/issues+ACIAPg-issue tracker+ADw-/a+AD4.
+ADw-/p+AD4
+ADw-p+AD4
One big push for us has been to document everything we can+ADs you can currently +ADw-a href+AD0AIg-http://zend-expressive.readthedocs.org/en/stable/+ACIAPg-browse our documentation on ReadTheDocs+ADw-/a+AD4. If you have questions, changes, or additions you feel should be made, documentation is part of the code repository itself, and issues can be raised just as they can for code.
+ADw-/p+AD4
+ADw-p+AD4
While this is an initial offering, we+ACYAIw-8217+ADs-ve put a lot of thought into the various features and abstractions, and feel it is essentially feature complete. We do, however, have a bucket list of additional features we wish to support before we go stable:
+ADw-/p+AD4
+ADw-ul+AD4
+ADw-li+AD4-A skeleton application. Ideally, we would like Composer hooks that can ask which implementations for routing, container, and/or templating are desired. If you know how to do this, we+ACYAIw-8217+ADs-d love your help+ACEAPA-/li+AD4
+ADw-li+AD4-Session encryption.+ADw-/li+AD4
+ADw-li+AD4-HTTP Caching support.+ADw-/li+AD4
+ADw-li+AD4-User authentication (via OAuth2 and/or other social auth mechanisms).+ADw-/li+AD4
+ADw-/ul+AD4
+ADw-p+AD4
Additionally, in the coming weeks, we+ACYAIw-8217+ADs-ll be expanding our +ADw-a href+AD0AIg-https://github.com/zendframework/zend-psr7bridge+ACIAPg-PSR-7 +ACY-lt+ADs–+ACY-gt+ADs zend-http bridge+ADw-/a+AD4, and creating an alternate, PSR-7 middleware dispatcher that can be used with the ZF2 MVC.
+ADw-/p+AD4
+ADw-p+AD4
We welcome any assistance you as contributors can offer in these initiatives+ACEAPA-/p+AD4
+ADw-p+AD4-The post +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com/6615/announcing-expressive/+ACIAPg-Announcing Expressive+ADw-/a+AD4 appeared first on +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com+ACIAPg-Zend Developer Zone+ADw-/a+AD4.+ADw-/p+AD4
+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/PHPDevZone/+AH4-4/qQRtXbHWnrY+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : Announcing Expressive

PHPWomen & Zend Give Scholarship to ZendCon

+ADw-p+AD4-Working in conjunction with +ADw-a href+AD0AIg-http://phpwomen.org/+ACI target+AD0AIgBf-blank+ACIAPg-PHPWomen+ADw-/a+AD4, we are going to give away a scholarship to +ADw-a href+AD0AIg-http://zendcon.com+ACI target+AD0AIgBf-blank+ACIAPg-ZendCon+ADw-/a+AD4AIQ We are kinda excited about it. Zend has been a supporter of PHPWomen since their inception. One of their very first booths was at ZendCon 2007. (Lig, Liz and I setup a table and stole a beer stein from the bar to use as a donations??jar.) +ADw-img src+AD0AIg-http://devzone.zend.com/wp-includes/images/smilies/simple-smile.png+ACI alt+AD0AIg:)+ACI class+AD0AIg-wp-smiley+ACI style+AD0AIg-height: 1em+ADs max-height: 1em+ADsAIg /+AD4APA-/p+AD4
+ADw-p+AD4APA-span id+AD0AIg-more-6551+ACIAPgA8-/span+AD4APA-/p+AD4
+ADw-p+AD4-These days PHPWomen are much more organized and we felt they were the perfect partner to help us select someone for a scholarship. ??Also, we love working with PHPWomen because even though they have +ACYAIw-8220+ADs-Women+ACYAIw-8221+ADs in their title, they are an inclusive group. This means?? you can apply for this scholarship regardless of your gender.+ADw-/p+AD4
+ADw-h2+AD4-Let+ACYAIw-8217+ADs-s raise the bar+ADw-/h2+AD4
+ADw-p+AD4-When most people read +ACYAIw-8220+ADs-Scholarship+ACYAIw-8221+ADs they see +ACYAIw-8220+ADs-Free Ticket+ACYAIw-8221+ADs. Yes, this scolarship includes a free ticket to ZendCon and the Tutorial Day. ??We aren+ACYAIw-8217+ADs-t content though with leaving it at that. There are??more expenses??involved in attending a conference than just the ticket. We can+ACYAIw-8217+ADs-t cover them all, but we can help with more than just the ticket.+ADw-/p+AD4
+ADw-p+AD4-This year our scholarship includes??3 nights in the conference hotel as part of the scholarship. (no, we don+ACYAIw-8217+ADs-t cover the mini-bar)+ADw-/p+AD4
+ADw-h2+AD4-Do the paperwork+ADw-/h2+AD4
+ADw-p+AD4-Here is the form you need to fill out. Pay careful attention to the instructions and required fields. Enter your information and we will notify you if you+ACYAIw-8217+ADs-ve been selected. Do it now rather than later.+ADw-/p+AD4
+ADw-p+AD4AJg-nbsp+ADsAPA-/p+AD4
+ADw-p+AD4APA-iframe width+AD0AIg-760+ACI height+AD0AIg-1350+ACI src+AD0AIg-https://docs.google.com/forms/d/1kiDyV22Vl0ubjMj3KdY+AF8-YJIWp3+AF8-e-vony8gKgV4jrpg/viewform?embedded+AD0-true+ACI frameborder+AD0AIg-0+ACI marginheight+AD0AIg-0+ACI marginwidth+AD0AIg-0+ACIAPg-Loading+ACYAIw-8230+ADsAPA-/iframe+AD4APA-/p+AD4
+ADw-p+AD4-The post +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com/6551/phpwomen-zend-give-scholarship-to-zendcon/+ACIAPg-PHPWomen +ACYAIw-038+ADs Zend Give Scholarship to ZendCon+ADw-/a+AD4 appeared first on +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com+ACIAPg-Zend Developer Zone+ADw-/a+AD4.+ADw-/p+AD4
+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/PHPDevZone/+AH4-4/BmzVI8sOdpY+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : PHPWomen & Zend Give Scholarship to ZendCon

ZendCon, PHP User Groups and FREE ElePHPants!

+ADw-p+AD4-In case you+ACYAIw-8217+ADs-ve been hiding under a rock lately, we at Zend have recently announced the +ADw-span style+AD0AIg-text-decoration: line-through+ADsAIgA+-10th+ADw-/span+AD4 11th annual +ADw-a href+AD0AIg-http://zendcon.com+ACI target+AD0AIgBf-blank+ACIAPg-ZendCon+ADw-/a+AD4. (Originally known as The Zend PHP Conference and Expo, but we couldn+ACYAIw-8217+ADs-t fit that on a URL)+ADw-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/2015-08-20-08.00.38-trimmed.jpg+ACIAPgA8-img class+AD0AIg-alignright size-thumbnail wp-image-6543+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/2015-08-20-08.00.38-trimmed-150×109.jpg+ACI alt+AD0AIg-PHP7 ElePHPant+ACI width+AD0AIg-150+ACI height+AD0AIg-109+ACI /+AD4APA-/a+AD4-Continuing the tradition of the past few years, we are introducing a new PHP +ADw-a href+AD0AIg-https://www.flickr.com/search/?q+AD0-ElePHPant+ACI target+AD0AIgBf-blank+ACIAPg-ElePHPant+ADw-/a+AD4 and giving one to every attendee. Unlike past years we want to see how many of these things we can give away. To that end, we have setup a new program for PHP User Groups. For each member of your PHP User Group that purchases a ticket to ZendCon, we will send you one of the new PHP7 ElePHPants. That+ACYAIw-8217+ADs-s right, you too can build your own private Pachyderm Posse.+ADw-/p+AD4
+ADw-h2+AD4-Here+ACYAIw-8217+ADs-s How+ADw-/h2+AD4
+ADw-p+AD4-If you manage a PHP User Group (PUG Life, Represent+ACE) here are the steps you need to take to participate.+ADw-/p+AD4
+ADw-ol+AD4
+ADw-li+AD4-Request a +ADw-span style+AD0AIg-text-decoration: line-through+ADsAIgA+-tracking code+ADw-/span+AD4 discount code. This code is good for +ACQ-100 off the price of any ZendCon ticket by emailing +ADw-a href+AD0AIg-mailto:contact+AEA-zendcon.com+ACI target+AD0AIgBf-blank+ACIAPg-contact+AEA-zendcon.com+ADw-/a+AD4.+ADw-/li+AD4
+ADw-li+AD4-Send out an email to your PHP User Group mailing list letting your users know that they can save +ACQ-100 off of any ZendCon ticket (including the Early Bird+ACE) using this special code.+ADw-/li+AD4
+ADw-li+AD4-After ZendCon, we will send you one ElePHPant for each person that used the code. You can horde them in a secret closet and take them out to play with them late at night+ACYAIw-8230+ADs-or you can use them as raffle prizes for your group. It really doesn+ACYAIw-8217+ADs-t matter to us. (and honestly, if it+ACYAIw-8217+ADs-s the former, we+ACYAIw-8217+ADs-d rather not know)+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-That+ACYAIw-8217+ADs-s all there is to it. They do all the work, you sit back and collect ElePHPants. ??(PUG Life+ACE)+ADw-/p+AD4
+ADw-p+AD4-So get your??magic ElePHpant code? today+ACE Drop Adam (+ADw-a href+AD0AIg-http://twitter.com/adamculp+ACI target+AD0AIgBf-blank+ACIAPgBA-adamculp+ADw-/a+AD4) Culp an email at +ADw-a href+AD0AIg-mailto:contact+AEA-zendcon.com+ACI target+AD0AIgBf-blank+ACIAPg-contact+AEA-zendcon.com+ADw-/a+AD4. Tell him that you want to start building your own private horde. Also, tell him the Name, City, and country of your PHP User Group. He+ACYAIw-8217+ADs-ll send you the code.+ADw-/p+AD4
+ADw-p+AD4AJg-nbsp+ADsAPA-/p+AD4
+ADw-p+AD4-Suggested Email Copy:+ADw-br /+AD4
(Just copy and paste this, change the necessary fields and shotgun it out to your PHP user Group+ACYAIw-8217+ADs-s mailing list)+ADw-/p+AD4
+ADw-div style+AD0AIg-padding: 25px+ADs border: solid black 1px+ADsAIgA+
+ADw-p+AD4-Hi all,Our friends at Zend have a special offer: You can get a +ADw-strong+AD4AJA-100 discount on the ticket for ZendCon+ADw-/strong+AD4, one of the most important +ADw-span class+AD0AIg-il+ACIAPg-PHP+ADw-/span+AD4 conferences in the world. ZendCon is taking place in Las Vegas in October: 19th to 22nd. See??+ADw-a href+AD0AIg-http://www.zendcon.com/+ACI target+AD0AIgBf-blank+ACIAPg-http://www.zendcon.com/+ADw-/a+AD4 for more information about the conference and the speaker line-up.+ADw-/p+AD4
+ADw-p+AD4APA-strong+AD4-If you go to ZendCon, you+ACYAIw-8217+ADs-ll receive a special PHP7 plush elePHPant as well+ACEAPA-/strong+AD4 And if you use our discount code, this also means we+ACYAIw-8217+ADs-ll receive an elePHPant to raffle at our meetups+ACE So you+ACYAIw-8217+ADs-ll get one yourself, and ensure one of our other members will get one.+ADw-/p+AD4
+ADw-p+AD4-Interested? Use the special discount code PUT+AF8-YOUR+AF8-CODE+AF8-HERE??(or simply PUT+AF8-YOUR+AF8-LINK+AF8-HERE).+ADw-/p+AD4
+ADw-p+AD4APA-strong+AD4-Please note+ADw-/strong+AD4: The cheap Early Bird prices are still valid for now, so if you want to get your ticket for the lowest price possible, get it now+ACEAPA-/p+AD4
+ADw-/div+AD4
+ADw-p+AD4-The post +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com/6541/zendcon-php-user-groups-and-free-elephpants/+ACIAPg-ZendCon, PHP User Groups and FREE ElePHPants+ACEAPA-/a+AD4 appeared first on +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com+ACIAPg-Zend Developer Zone+ADw-/a+AD4.+ADw-/p+AD4
+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/PHPDevZone/+AH4-4/RorQyrfmZOk+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : ZendCon, PHP User Groups and FREE ElePHPants!

Movie-focused UI update rolling out from today for Sky+ HD subscribers in the UK

+ADw-img width+AD0AIg-520+ACI height+AD0AIg-245+ACI src+AD0AIg-http://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2015/08/skyUI1-520×245.jpg+ACI alt+AD0AIg-skyUI1+ACI title+AD0AIg-Movie-focused UI update rolling out from today for Sky HD subscribers in the UK+ACI data-id+AD0AIg-909739+ACI /+AD4APA-br /+AD4-Sky HD subscribers in the UK will??begin to see a few movie-focused tweaks to the interface on their Sky boxes from today, including a new movie recommendation service called ???More Like This???. The recommendation service is accessible via the yellow button on the controller when you???re already looking at another single title. So, if you???re looking at a listing for ???Ice Age 2??? and press the button, it might suggest ???The Lego Movie??? or ???The BoxTrolls???. You can also now (finally) create a watchlist of movies that are available that you want to work your way through. To add a+ACYAIw-8230+ADs +ADw-br+AD4APA-br+AD4APA-a href+AD0AIg-http://thenextweb.com/uk/2015/08/20/movie-focused-ui-update-rolling-out-from-today-for-sky-hd-subscribers-in-the-uk/?utm+AF8-source+AD0-social+ACY-amp+ADs-utm+AF8-medium+AD0-feed+ACY-amp+ADs-utm+AF8-campaign+AD0-profeed+ACIAPg-This story continues+ADw-/a+AD4 at The Next Web+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/TheNextWebUk/+AH4-4/KTn0JSRPD6A+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : Movie-focused UI update rolling out from today for Sky+ HD subscribers in the UK

Introducing Z-Ray on Azure

+ADw-p+AD4-This article introduces a new and cool way to develop PHP on the cloud, with Z-Ray on Microsoft Azure.+ADw-/p+AD4
+ADw-p+AD4-If you haven+ACYAIw-8217+ADs-t heard of Z-Ray before, here+ACYAIw-8217+ADs-s a recap.?? Z-Ray is a new technology that gives PHP developers unprecedented and in-context visibility into their code,?? allowing them to hit and fix issues early on in development. Put in more concrete terms, it+ACYAIw-8217+ADs-s a toolbar that displays all the details of a page request, across all the PHP scripts involved in building the page.?? Z-Ray is injected into the response coming from the PHP app and shown right in the browser, with detailed information on SQL queries, functions, errors and warnings, exceptions, monitoring events, and plenty more.+ADw-/p+AD4
+ADw-p+AD4-In this article, you will learn how to enable Z-Ray on your web app, configure Z-Ray, use Z-Ray Live+ACE to debug non-browser based requests and use Z-Ray in production.+ADw-/p+AD4
+ADw-p+AD4-Enjoy the ride+ACEAPA-/p+AD4
+ADw-h1+AD4APA-strong+AD4-Prerequisites+ADw-/strong+AD4APA-/h1+AD4
+ADw-p+AD4-To follow the steps below, you+ACYAIw-8217+ADs-ll need the following:+ADw-/p+AD4
+ADw-ul+AD4
+ADw-li+AD4-An active Microsoft Azure account (Get a +ADw-a href+AD0AIg-https://azure.microsoft.com/en-us/pricing/free-trial/+ACIAPg-Free Trial+ADw-/a+AD4)+ADw-/li+AD4
+ADw-li+AD4-An existing Azure web app (+ADw-a href+AD0AIg-http://azure.microsoft.com/en-us/documentation/scenarios/web-app/+ACIAPg-here+ACYAIw-8217+ADs-s+ADw-/a+AD4 some information on how to set up a web app)+ADw-/li+AD4
+ADw-/ul+AD4
+ADw-h1+AD4APA-strong+AD4-Step 1: Enabling Z-Ray+ADw-/strong+AD4APA-/h1+AD4
+ADw-p+AD4-Your first step is to enable Z-Ray on your Azure web app.+ADw-/p+AD4
+ADw-ol+AD4
+ADw-li+AD4-Log into the +ADw-a href+AD0AIg-https://portal.azure.com/+ACIAPg-Azure portal+ADw-/a+AD4, and select your web app.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-Your web app is opened in a separate blade.+ADw-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-1.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6531+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-1.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 1+ACI width+AD0AIg-520+ACI height+AD0AIg-744+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-ol start+AD0AIg-2+ACIAPg
+ADw-li+AD4-Open the Settings for your web app.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-To do this, you can click the Settings icon at the top of the blade, or click the +ADw-strong+AD4-All settings+ADw-/strong+AD4 link.+ADw-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-2.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6530+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-2.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 2+ACI width+AD0AIg-977+ACI height+AD0AIg-957+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-ol start+AD0AIg-3+ACIAPg
+ADw-li+AD4-In the Settings blade that is opened, select +ADw-strong+AD4-Zend Z-Ray+ADw-/strong+AD4APA-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-3.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6529+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-3.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 3+ACI width+AD0AIg-534+ACI height+AD0AIg-802+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-p+AD4-4. ??Then, select +ADw-strong+AD4-Enable Zend Z-Ray+ADw-/strong+AD4.+ADw-/p+AD4
+ADw-p+AD4-The Pricing Tier blade is opened.+ADw-/p+AD4
+ADw-p+AD4-Note: Z-Ray on Microsoft Azure is currently in preview, prices may change in the future without notice.+ADw-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-4.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6528+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-4.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 4+ACI width+AD0AIg-762+ACI height+AD0AIg-402+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-ol start+AD0AIg-5+ACIAPg
+ADw-li+AD4-Select your pricing tier, and click +ADw-strong+AD4-Select+ADw-/strong+AD4.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-The Legal Terms and Disclaimers blade is opened.+ADw-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-5.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6527+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-5.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 5+ACI width+AD0AIg-496+ACI height+AD0AIg-802+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-ol start+AD0AIg-6+ACIAPg
+ADw-li+AD4-Review the license details, and then click +ADw-strong+AD4-Purchase+ADw-/strong+AD4.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-Z-Ray is enabled and a success message is displayed in the Notifications panel.+ADw-/p+AD4
+ADw-p+AD4APA-img class+AD0AIg-alignnone wp-image-6537+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-6.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 6+ACI width+AD0AIg-303+ACI height+AD0AIg-346+ACI /+AD4APA-/p+AD4
+ADw-ol start+AD0AIg-7+ACIAPg
+ADw-li+AD4-All you have to do now is open your web app. (You can use the browse button on the Web App blade to open the website)+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-Z-Ray is displayed at the bottom of the page.+ADw-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-7.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6536+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-7.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 7+ACI width+AD0AIg-977+ACI height+AD0AIg-735+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-p+AD4-That+ACYAIw-8217+ADs-s all there is to it. In just a few seconds, you can start using Z-Ray to develop your PHP apps.+ADw-/p+AD4
+ADw-h1+AD4APA-strong+AD4-Step 2: Configuring Z-Ray+ADw-/strong+AD4APA-/h1+AD4
+ADw-p+AD4-Great+ACE You+ACYAIw-8217+ADs-ve got Z-Ray running on your web app. This step in the tutorial will introduce you to the Z-Ray Management Dashboard. The Z-Ray Management Dashboard contains some additional features and enables you to configure Z-Ray to suit your environment and personal preferences.+ADw-/p+AD4
+ADw-ol+AD4
+ADw-li+AD4-To open the Z-Ray Management Dashboard, click the Z-Ray Management Dashboard link in the Zend Z-Ray for Azure blade.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-8.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6535+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-8.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 8+ACI width+AD0AIg-302+ACI height+AD0AIg-290+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-p+AD4-The Z-Ray Management Dashboard is displayed.+ADw-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-9.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6534+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-9.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 9+ACI width+AD0AIg-977+ACI height+AD0AIg-735+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-ol start+AD0AIg-2+ACIAPg
+ADw-li+AD4-To configure Z-Ray settings, select the Settings page.+ADw-/li+AD4
+ADw-li+AD4-To configure the way Z-Ray collects data, select the Date Collection tab. You can then decide whether to enable backtracing in Z-Ray or not, and whether you want Z-Ray to collect data for the various extensions. This tab also contains the option to set the max number of log entries displayed in the Errors +ACY-amp+ADs Warnings panel.+ADw-/li+AD4
+ADw-li+AD4-Select the Privacy tab to determine whether you want Z-Ray to mask key attributes to ensure user privacy. You can also enter your own key attributes to be masked.+ADw-/li+AD4
+ADw-li+AD4-Select the Advanced tab to configure Z-Ray advanced settings. In this tab, you can for example configure the list of function groups for filtering the functions in Z-Ray.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-The full description of the settings available on the Settings page are described in the online help: +ADw-a href+AD0AIg-http://files.zend.com/help/Z-Ray-Azure/Content/configuring+AF8-z-ray.htm+ACIAPg-http://files.zend.com/help/Z-Ray-Azure/Content/configuring+AF8-z-ray.htm+ADw-/a+AD4APA-/p+AD4
+ADw-h1+AD4APA-strong+AD4-Step 3: Using Z-Ray Live+ACEAPA-/strong+AD4APA-/h1+AD4
+ADw-p+AD4-The Z-Ray Management Dashboard contains an additional Z-Ray feature called Z-Ray Live+ACEAPA-/p+AD4
+ADw-p+AD4-Z-Ray Live+ACE is used for real-time monitoring of all requests made to the server, including non-browser based requests, such as: APIs, Web services, and mobile requests. All the information recorded and displayed in Z-Ray, such as request execution time, exceptions, errors, database queries, functions, and more, can be viewed in one centralized location.+ADw-/p+AD4
+ADw-p+AD4APA-strong+AD4-Note:+ADw-/strong+AD4 Z-Ray Live+ACE is only supported on the Standard edition of Z-Ray for Azure.+ADw-/p+AD4
+ADw-p+AD4-Tracking for requests is commenced as soon as the page loads. So to use Z-Ray Live+ACE simply open the Z-Ray Live+ACE page in the Z-Ray Management Dashboard and wait for the requests to come pouring in+ACEAPA-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-10.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6533+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-10.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 10+ACI width+AD0AIg-977+ACI height+AD0AIg-745+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-p+AD4APA-strong+AD4-Note:+ADw-/strong+AD4 Z-Ray functionality on this page depends on the set Z-Ray access mode. In Enabled Mode +ACYAIw-8211+ADs all requests made to the Web server are displayed . In Secured Mode, only requests using an access token are displayed. In Disabled Mode +ACYAIw-8211+ADs all request information is not displayed.+ADw-/p+AD4
+ADw-h1+AD4APA-strong+AD4-Step 4: Using Z-Ray in Production+ADw-/strong+AD4APA-/h1+AD4
+ADw-p+AD4-This step will demonstrate how Z-Ray can be used safely in production as well. The Z-Ray Secured Mode allows you to enable Z-Ray for specific IPs or URLs, and for a specific time duration, by passing an access token to the URL as a GET parameter. The token can also be restricted for specific base URLs.+ADw-/p+AD4
+ADw-ol+AD4
+ADw-li+AD4-Open the +ADw-strong+AD4-Access Modes +AHw Mode+ADw-/strong+AD4 page in the Z-Ray Management Dashboard.+ADw-/li+AD4
+ADw-li+AD4-Select the+ADw-strong+AD4 Secured+ADw-/strong+AD4 mode, and click +ADw-strong+AD4-Save+ADw-/strong+AD4.+ADw-/li+AD4
+ADw-li+AD4-When prompted, verify your selection.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-Z-Ray is now in Secured mode.+ADw-/p+AD4
+ADw-ol start+AD0AIg-3+ACIAPg
+ADw-li+AD4-Open the +ADw-strong+AD4-Tokens+ADw-/strong+AD4 page, and click +ADw-strong+AD4-Create Token+ADw-/strong+AD4.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-The Create Access Token dialog is displayed.+ADw-/p+AD4
+ADw-p+AD4APA-a href+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-11.jpg+ACIAPgA8-img class+AD0AIg-alignnone size-full wp-image-6532+ACI src+AD0AIg-http://devzone.zend.com/wp-content/uploads/2015/08/Z-Ray-on-Azure-Screen-11.jpg+ACI alt+AD0AIg-Z-Ray on Azure Screen 11+ACI width+AD0AIg-483+ACI height+AD0AIg-529+ACI /+AD4APA-/a+AD4APA-/p+AD4
+ADw-ol start+AD0AIg-4+ACIAPg
+ADw-li+AD4-Configure the new access token:+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-ul+AD4
+ADw-li+AD4-Name +ACYAIw-8211+ADs Enter a description for the new token for reference purposes only.+ADw-/li+AD4
+ADw-li+AD4-IP Restriction +ACYAIw-8211+ADs Enter a comma-separated list of IPs representing the machines you wish to enable Z-Ray on, either as a masked range or in CIDR.+ADw-/li+AD4
+ADw-li+AD4APA-strong+AD4-Example+ADw-/strong+AD4: 127.0.0.1 will limit access to just the local machine, 10.0.0.0/8 will open up access to any address that starts with 10.+ADw-/li+AD4
+ADw-li+AD4-URL Restriction (Optional) +ACYAIw-8211+ADs Enter the URL of a page you wish to enable access to Z-Ray for. +ADw-strong+AD4-Note:+ADw-/strong+AD4 This token setting option is not mandatory. However, leaving this field empty will allow access to Z-Ray for all pages on the server.+ADw-/li+AD4
+ADw-li+AD4-Time Restriction +ACYAIw-8211+ADs Set a time limit for the access token, after which access to Z-Ray will no longer be enabled.+ADw-/li+AD4
+ADw-/ul+AD4
+ADw-ol start+AD0AIg-5+ACIAPg
+ADw-li+AD4-Click +ADw-strong+AD4-Create Token+ADw-/strong+AD4.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4-A token is created and added to the Tokens list.+ADw-/p+AD4
+ADw-ol start+AD0AIg-6+ACIAPg
+ADw-li+AD4-To use the token, all you have to do is add it as a GET parameter to the page URL.+ADw-/li+AD4
+ADw-/ol+AD4
+ADw-p+AD4APA-strong+AD4-Example:+ADw-/strong+AD4 http://example.com/path/page.php?zsdbt+AD0AJg-lt+ADs-token-string+ACY-gt+ADsAPA-/p+AD4
+ADw-h1+AD4APA-strong+AD4-Summary+ADw-/strong+AD4APA-/h1+AD4
+ADw-p+AD4-Using Z-Ray on Azure will revolutionize the way you develop PHP on the cloud. The combination of Z-Ray and Azure means you can use Z-Ray to introspect any code you have deployed on an Azure web app, thus enabling you to enjoy the best of the two worlds +ACYAIw-8211+ADs Azure+ACYAIw-8217+ADs-s web app services and Z-Ray+ACYAIw-8217+ADs-s powerful introspection capabilities.+ADw-/p+AD4
+ADw-p+AD4-We would love to receive your feedback so we can make this service even better. To provide your input, please fill +ADw-a href+AD0AIg-http://www.zend.com/z-ray-azure/redirect/feedback+ACIAPg-this+ADw-/a+AD4 form.+ADw-/p+AD4
+ADw-p+AD4-For more information on how to work with Z-Ray on Azure, you can visit the online help at: +ADw-a href+AD0AIg-http://files.zend.com/help/Z-Ray-Azure/Content/home.htm+ACIAPg-http://files.zend.com/help/Z-Ray-Azure/Content/home.htm+ADw-/a+AD4APA-/p+AD4
+ADw-p+AD4-Thanks and happy PHPing+ACEAPA-/p+AD4
+ADw-p+AD4AJg-nbsp+ADsAPA-/p+AD4
+ADw-p+AD4AJg-nbsp+ADsAPA-/p+AD4
+ADw-p+AD4AJg-nbsp+ADsAPA-/p+AD4
+ADw-p+AD4-The post +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com/6524/introducing-z-ray-on-azure/+ACIAPg-Introducing Z-Ray on Azure+ADw-/a+AD4 appeared first on +ADw-a rel+AD0AIg-nofollow+ACI href+AD0AIg-http://devzone.zend.com+ACIAPg-Zend Developer Zone+ADw-/a+AD4.+ADw-/p+AD4
+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/PHPDevZone/+AH4-4/22JT7MPHiMg+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : Introducing Z-Ray on Azure

Many YouTube stars are corrupt by design, new advertising guidelines don’t count for squat

+ADw-img width+AD0AIg-520+ACI height+AD0AIg-245+ACI src+AD0AIg-http://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2015/08/85053398+AF8-oreo-520×245.jpg+ACI alt+AD0AIgBf-85053398+AF8-oreo+ACI title+AD0AIg-Many YouTube stars are corrupt by design, new advertising guidelines don’t count for squat+ACI data-id+AD0AIg-909652+ACI /+AD4APA-br /+AD4-Hallelujah+ACE If you???re the sort of credulous internet mook who takes the pronouncements of YouTube stars and assorted vloggers to be the gospel as told by St. Luke of the Holy Topshop Branch, you???ll no longer be tricked by ads??? in the UK at least. The Committee of Advertising Practice (Cap) has issued guidance on how vloggers should label and explain ???paid content??? (that???s adverts to those of us who haven???t swallowed a dictionary of bullshit). The move follows a ruling by the Advertising Standards Authority (ASA) last year that found YouTube creators had posted blogs praising Oreos, without clearly+ACYAIw-8230+ADs +ADw-br+AD4APA-br+AD4APA-a href+AD0AIg-http://thenextweb.com/media/2015/08/19/you-rube/?utm+AF8-source+AD0-social+ACY-amp+ADs-utm+AF8-medium+AD0-feed+ACY-amp+ADs-utm+AF8-campaign+AD0-profeed+ACIAPg-This story continues+ADw-/a+AD4 at The Next Web+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/TheNextWebUk/+AH4-4/CxDwneHnTD4+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : Many YouTube stars are corrupt by design, new advertising guidelines don’t count for squat

Relocating or just nosey? Knocker now makes it easy to explore the UK property market

+ADw-img width+AD0AIg-520+ACI height+AD0AIg-245+ACI src+AD0AIg-http://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2015/08/Knocker-search-520×245.jpg+ACI alt+AD0AIg-Knocker search+ACI title+AD0AIg-Relocating or just nosey? Knocker now makes it easy to explore the UK property market+ACI data-id+AD0AIg-909552+ACI /+AD4APA-br /+AD4-Knocker started as an iOS app designed for a very specific situation ??? exploring the property market around you, wherever in the UK you happened to be. It was apparent that the neat-card based interface could work for other use cases though, so today, it???s been expanded with a search feature that allows you to have a nosey at properties all over the country. Property search apps tend to be quite involved, with lots of variables to work through before you get to see what???s on the market. Knocker, on the other hand, simply asks you ???Where would you like??to+ACYAIw-8230+ADs +ADw-br+AD4APA-br+AD4APA-a href+AD0AIg-http://thenextweb.com/apps/2015/08/19/knock-knock-knocking-on-everyones-door/?utm+AF8-source+AD0-social+ACY-amp+ADs-utm+AF8-medium+AD0-feed+ACY-amp+ADs-utm+AF8-campaign+AD0-profeed+ACIAPg-This story continues+ADw-/a+AD4 at The Next Web+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/TheNextWebUk/+AH4-4/8sPpM-Qj4Fw+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : Relocating or just nosey? Knocker now makes it easy to explore the UK property market

BBC’s iPlayer service is getting more Netflix-style features, including cross-device resume

+ADw-img width+AD0AIg-520+ACI height+AD0AIg-245+ACI src+AD0AIg-http://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2015/08/iplayer-520×245.png+ACI alt+AD0AIg-iplayer+ACI title+AD0AIg-BBC’s iPlayer service is getting more Netflix-style features, including cross-device resume+ACI data-id+AD0AIg-909533+ACI /+AD4APA-br /+AD4-The Beeb is rolling out changes for its iPlayer streaming TV service over the course of the next few weeks that will bring new features to the platform, as well as extended hardware support for existing options. Among the changes is the new option to start and resume watching a particular program from different devices, in the same way you can using something like Netflix or Amazon Prime streaming.??To use this feature, you???ll need to be signed in for it to automatically recognize which point you got to in a particular show. Cross-device resume will only be available on the+ACYAIw-8230+ADs +ADw-br+AD4APA-br+AD4APA-a href+AD0AIg-http://thenextweb.com/uk/2015/08/19/bbcs-iplayer-service-is-getting-more-netflix-style-features-including-cross-device-resume/?utm+AF8-source+AD0-social+ACY-amp+ADs-utm+AF8-medium+AD0-feed+ACY-amp+ADs-utm+AF8-campaign+AD0-profeed+ACIAPg-This story continues+ADw-/a+AD4 at The Next Web+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/TheNextWebUk/+AH4-4/E7Jl7Z6+AF8-duI+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : BBC’s iPlayer service is getting more Netflix-style features, including cross-device resume

YouTube and Vevo music videos in the UK are getting age ratings

+ADw-img width+AD0AIg-520+ACI height+AD0AIg-245+ACI src+AD0AIg-http://cdn1.tnwcdn.com/wp-content/blogs.dir/1/files/2015/08/YouTube-520×245.jpg+ACI alt+AD0AIg-YouTube+ACI title+AD0AIg-YouTube and Vevo music videos in the UK are getting age ratings+ACI data-id+AD0AIg-909193+ACI /+AD4APA-br /+AD4-In order to prevent children from viewing inappropriate content, music videos produced in the UK will display age ratings when aired on YouTube and Vevo, reports The Guardian. The online video networks worked with the British Board of Film Classification (BBFC) and the British Phonographic Industry (BPI) to create a ratings system for music videos similar to those used with movies. A pilot program was launched last October to test the system. To date, 132 videos have been submitted to the BBFC for classification, with 53 of them receiving a ???15??? rating. Dizzee Rascal???s ???Couple of Stacks??? is the only+ACYAIw-8230+ADs +ADw-br /+AD4APA-br /+AD4APA-a href+AD0AIg-http://thenextweb.com/uk/2015/08/18/youtube-and-vevo-music-videos-in-the-uk-are-getting-age-ratings/?utm+AF8-source+AD0-social+ACY-amp+ADs-utm+AF8-medium+AD0-feed+ACY-amp+ADs-utm+AF8-campaign+AD0-profeed+ACIAPg-This story continues+ADw-/a+AD4 at The Next Web+ADw-img src+AD0AIg-http://feeds.feedburner.com/+AH4-r/TheNextWebUk/+AH4-4/ki7gB+AF8-mloPM+ACI height+AD0AIg-1+ACI width+AD0AIg-1+ACI alt+AD0AIgAi /+AD4-

Read more : YouTube and Vevo music videos in the UK are getting age ratings

Social Media Web Tips, Social Media News & Technology Updates