Skip to content

Debugging Improvements in Zend Studio 12.5

Newest release of Zend Studio 12.5 delivers a set of improvements for debugging features. Below you can find the essence of the most important ones that will surely help you to become a PHP debugging champ.

Indicating type of variables

Presentation model in Variables and Expression view has been enhanced to indicate what kind of variable you’re looking at. The new set of icons gives a possibility to find out if related element is e.g. $this object, local/superglobal variable, public/protected or private field. The following icons will tell you what the kind of related element is:

variables_iconsBelow is an example of Variables view that presents different kinds of variables:


Highlighting variables which values have been changed

This feature is very useful in case of observing the state of variables when debugging. If any variable changes its value after a step/resume action, it will be highlighted in Variables view with dedicated color (which is yellow as a default). This improvement simplifies debugging as you can focus quickly on the variables which values have been changed after some code execution. Below is an example screenshot of Variables view with the elements which values have been changed after last step:


Support for handling parallel requests (e.g. AJAX)

While debugging PHP application that supports parallel requests (e.g. AJAX), you are now able to handle code execution in parallel context. It means that every parallel request that hits a breakpoint is now visible as a separate sub-element of debugged PHP app and can be handled individually by means of desired order of execution. This feature will help you to easily notify a case when you have to deal with parallel requests (your PHP IDE will let you know about it) and figure out how to handle it while debugging. Below is an example screenshot of a Debug view with multiple requests that hit the same breakpoint:


Configuring debugger settings at corresponding owner level

Since Zend Studio 12.5 release you are able to set up debugger connection settings at corresponding owner level (PHP server or executable). The goal of this feature is to simplify & clarify the process of setting up the connection between PHP IDE and related PHP debuggers with the use of dedicated set of settings that can be different for particular debugger installation. Debugger connection settings (that are still available in “Debuggers” preference page as a default “template” values) can now be simply overridden for individual PHP server or executable configuration. In case of Zend Debugger, you can also make sure if the connection with debugger engine can be established with the use of “Test” button that is now available in wizards for creating & editing PHP server or executable. What’s more, while setting up the appropriate client IPs for connection, you can use “Configure” button which gives a possibility to choose IPs from the list of addresses that could be automatically detected on a workstation that Studio is running on.

An example Zend Debugger configuration for PHP server:

1An example XDebug configuration for PHP server:


 Happy PHPing!

The post Debugging Improvements in Zend Studio 12.5 appeared first on Zend Developer Zone.

Read more : Debugging Improvements in Zend Studio 12.5

Posted in Web.

Tagged with , , , , , , , , .

Zend Server on Azure

This article was contributed by Boaz Ziniman, Senior Director of Technology and Cloud Infrastructure at Zend. 

Last time I wrote about Azure was in 2011. Steve Ballmer, Microsoft’s CEO ousted Bob Muglia from Microsoft’s server and tools division, and the future of Azure, Microsoft’s Cloud offering, was far from being bright. 4 years down the road, Ballmer is no longer with Microsoft, and Azure is a legit cloud platform with many services and tools that should be considered when looking for a cloud provider or as a side-by-side supplement to your existing services.

One of Microsoft’s game-changing moves that in my opinion really made a difference for Azure was opening Azure to other operating systems other than Windows. Just 2 years ago, the ability to run Linux on Azure was a fantasy. One of the side effects of opening Azure to Linux other than the technical ability to run Linux, was showing openness and the ability of the company to embrace new technologies. This was a huge change coming from a company that for decades had focused on making sure all its tools and applications retained users on Windows and that was not embarrassed to admit that everything else was just a bonus.

What has PHP got to do with it?

PHP on Azure? Zend and Microsoft? These were the top two questions I was asked when presenting Zend Server on Azure for the first time during Microsoft’s developers (developers, developers) Build conference in San Francisco a  few weeks ago.

To people coming from .net it looks strange, out of context even, but when looking at what the Azure team has done in the last two years, it is just another step in the same direction of opening the platform to additional technologies and new developers that never looked at Microsoft and Azure as a valid alternative.

In the case of PHP, this is not just another language added to the arsenal of languages that can be run on Azure. One of PHP’s biggest advantages is the huge eco system the language brings with it and the endless list of pre-built applications that allows you to build complex systems in no time. I think it’s enough to mention WordPress (that runs this site as well and  is now part of the tools available to all Azure users) to show how this move brings new opportunities to this platform.

Zend Server on Azure

As part of the effort to bring PHP to Azure, Microsoft and Zend spent a lot of resources lately to bring Zend Server, the leading platform for professional PHP applications, to Azure’s Marketplace offering. Starting a few days ago, you can spin up a virtual machine running Zend Server on several instance types of Azure.

Zend Server on Azure Marketplace is available in three editions, Developer, Professional and Enterprise, and each virtual machine is priced based on the size and performance of the machine and the Zend Server edition (except for Developer edition which has a flat rate of 3 cents/hour). Zend Server on Azure includes a 30-day free trial and it takes exactly 5 min to get a full running server, with everything you need to run your PHP application.

You can find additional details on the product on the Zend on Azure Marketplace page and if you are still skeptical about how easy it is to get up and running, check out the next video:

The post Zend Server on Azure appeared first on Zend Developer Zone.

Read more : Zend Server on Azure

Posted in Web.

Tagged with , , , , , , , , , , .

Happy Developers Are Productive Developers

I have yet to find a company that doesn’t at least pay lip service to the concept that they want their employees to be happy and fulfilled. Yet for many developers, those promises end when the offer letter is accepted – and this creates problems for both the developer and the company that has hired them.

Hiring developers is an expensive proposition. In fact, in many companies it can cost 50% or more of the developer’s salary to bring them on board. Most people worry a lot about hiring the wrong developer. But few worry about keeping the right developers on board.

Why do so many companies struggle with this? I have a few ideas as to why.

The first is that many companies misinterpret developers’ desires and wishes. Free soda and a foosball table has become so common as to be cliche, but many companies think that these “perks” attract developers. But what kind of things do developers actually want?

Most developers I know want the freedom to think, to make an impact, and to contribute something meaningful. They want hard problems. A foosball table might be fun to blow off some steam, but it won’t keep a developer that’s bored.

Similarly, most developers are less motivated by money than the average person, in part because developers tend to be well-paid for their work. When they can afford their basic needs, money ceases to be a motivator. As a result, companies need to look more at the type of work, and less at the incentive programs they create as a way of motivating developers.

Finally, it’s well known that the developer market is red hot right now. Developers have lots of choices, and the best developers have even better opportunities waiting right around the corner. It’s easy for a developer to leave, but it’s costly to a company to lose them. Companies need to give developers a reason to stay by determining what makes each developer tick and ensuring that those needs are met.

For companies that care about the quality of their hires and their development team, there should be just as much effort put into keeping developers as bringing them on board. When developers are happy they are more productive, and the longer they stay, the longer your investment in them pays off.

And it’s worth viewing developers as an investment, one that you’ve paid good money for. Every day that a developer works with you is a day they gain experience and insight, not only into the language or tools they use, but into your product and your business. Bringing on a new developer will rarely immediately replace the hole left when an experienced developer leaves, taking their institutional memory with them.

Happy developers are productive developers. Master the means to keep developers happy, and they won’t leave. And that makes you more productive in the long run.

The post Happy Developers Are Productive Developers appeared first on Zend Developer Zone.

Read more : Happy Developers Are Productive Developers

Posted in Web.

Tagged with , , , , , , , , , , , .

Getting Started with Zend Server on Azure

Getting up and running with a PHP environment on the cloud just became a whole lot easier with Zend Server becoming available on Microsoft Azure.

This tutorial takes you through the basic steps for getting started with Zend Server on Azure, and will demonstrate just how easy it is to start developing PHP apps with Zend Server on the cloud.

What do you get with Zend Server on Azure? First off, you get an advanced PHP stack with over 80 PHP extensions and libraries. Second, you get first-in-class development and debugging tools including the all new Z-Ray.  And you get application and server monitoring capabilities, deployment features, and plenty more.

For a full detailed description of what Zend Server includes, watch this video.


To follow the steps describes below, you’ll need the following:

  • An active Microsoft Azure account
  • An SSH key pair (this is optional, and is required only if you want to access the server using SSH with public key authentication)

Step 1: Getting Her Up and Running

This first step will describe how to launch the Zend Server virtual machine instance from within the Microsoft Azure portal.

1. Access the Azure Portal.


2. Click New in the bottom-left corner.


3. From the menu, select Compute, and then Azure Marketplace at the bottom.

4. In the Marketplace, type ‘Zend’.
A list of all the available Zend Server machine instances is displayed. Currently, you can select from the following options: Zend Server PHP 5.6 Developer, Professional, and Enterprise editions.


5. Select the instance you wish to launch.
A new blade shows all the details about the virtual machine you selected.


6. Take a look to understand the benefits of the image you selected, and then click Create.
A new Create VM blade is displayed.


7. Configure the new Zend Server virtual machine:

  • Enter a hostname for the virtual machine.
  • Enter a username to login via SSH.
  • Select which authentication method you wish to use for accessing the virtual machine using SSH – either with a password or using key-based authentication.
  • Depending on your choice above, enter either the password or the public key.
  • Select a pricing tier.
    You can see all the details about the different pricing options, including a monthly estimate.
  • To pin the new virtual machine to your Startboard, select the ‘Pin to Startboard’  check-box.

8. At the bottom, click Create.
A Buy blade is displayed.


9. Review the purchase details, and then click Buy.
The new virtual machine is launched!


This usually takes a couple of minutes, but can take longer in case of a high load on Azure.

Check out the next step to learn how to access and launch Zend Server once the virtual machine is created.

Step 2: Taking a Closer Look

Your next step is to access Zend Server and complete the Launch wizard, so you can start working with Zend Server’s features.

1. Once created, the virtual machine blade is displayed.


2. Copy the DNS name of the virtual machine, and paste it in your browser together with the port the Zend Server UI uses, 10081:
The Launch Zend Server wizard is displayed.


3. Complete the wizard steps:

  • Read and accept the license agreement, and click Next.
  • Select a launch profile. This determines which PHP and system settings you start working with in Zend Server (this step will not be available if you selected the Developer edition). Click Next.
  • Set an admin password for accessing the Zend Server UI (optional, set a developer password as well). Click Next.
  • After Zend Server installs the built-in libraries, click Next.
  • On the last step of the wizard, click Launch.

Zend Server is launched.


Congratulations! You’ve successfully launched a PHP environment with Zend Server on Azure!

The post Getting Started with Zend Server on Azure appeared first on Zend Developer Zone.

Read more : Getting Started with Zend Server on Azure

Posted in Web.

Tagged with , , , , , , , , , .

How use Composer with External Tools

Composer support in Zend Studio is quite simple. Sometimes users complain about lack of support for additional arguments e.g. for ‘install’ or ‘update’ commands. The new Zend Studio release includes support for running external programs inside your IDE. It’s called External Tools, and it’s well known to Eclipse users. It can be easily used to fill the gap between Composer support in Zend Studio and Composer command line capabilities. This simple tutorial will give you an idea on how to do it.

First of all we need a Composer based project. In my case I created a simple ZF2 project with Zend Studio and called it ‘project-zf2’. In the next step we need ‘composer.phar’. Check out these instructions for all the necessary information. Once created, move the file into the created project directory. Now we have all elements to play with Composer and External Tools.

External Tools configuration dialog can be started from the main menu (Run -> External Tools -> External Tools Configurations…), or from toolbar.


When the dialog window appears, double-click the Program element on the left menu. Now we need to input some basic parameters.

External Tools Configuration

  • Name – simple name to distinguish configurations (e.g. Update Composer)
  • Location – location of your PHP instance
  • Arguments:
    • $project_loc/composer.phar – specifies the location of the ‘composer.phar’ in project
    • update – Composer update command
    • –prefer-source – install packages from source when available
    • -d $project_loc – set project location as working directory
    • –no-ansi – disable ANSI output, not mandatory but without this parameter Console output can be polluted by strange characters
    • –no-progress – remove the progress display that can mess with some terminals or scripts which don’t handle backspace characters

All arguments:
$project_loc/composer.phar update –prefer-source -d $project_loc –no-ansi –no-progress

NOTE: Variable $project_loc will use the selected resource project location and will make this configuration independent from the project, but before every launch, a resource from the target project must be selected in the PHP Explorer or in the editor.

NOTE: Additional parameters must be placed after the command name, in this case after update.

Now, go to the Refresh tab and select Specific resources.

External Tools Configuration - Refresh Tab

In selection dialog choose vendor directory and composer.lock. These resources will be affected by Composer operation and after each execution these elements will be refreshed.

Edit Working Set Dialog

Go to Build tab and uncheck option Build before launch. This option has nothing to do with our case, but it can slow down command start.

External Tools Configuration - Build Tab

The rest of the tabs left with defaults parameters. Now your Composer update configuration is ready to be launched. Press Run (be sure that any resource from target project is selected). Command output will be displayed in Console view.

Console View

Now every Composer based project can be updated with Update Composer configuration! Recently used configurations can be easily accessed from toolbar drop down menu.

Start Configuration From Toolbar

External Tools allow you to configure and run programs, batch files, php scripts almost in the same way like in terminal. Every necessary command line tool can be configured and used inside Zend Studio (this tutorial can be applied also to PDT). Many useful PHP projects can be utilized in this way e.g. PhpMetrics. Everything in place and easy accessible. Enjoy!

The post How use Composer with External Tools appeared first on Zend Developer Zone.


Composer support in Zend Studio is quite simple. Sometimes users complain about lack of support for additional arguments e.g. for ‘install’ or ‘update’ commands. The new Zend Studio release includes support for running external programs inside your IDE. It’s called External Tools, and it’s well known to Eclipse users. It can be easily used to […]

The post How use Composer with External Tools appeared first on Zend Developer Zone.


Read more : How use Composer with External Tools

Posted in Web.

Tagged with , , , , , , , , .

Code Faster with the New Smart Object Operator Shortcut

Some PHP operators (e.g. ->, ::) can be quite a challenge for people who are used to different languages (like Java or C#). The new Zend Studio release introduces a new shortcut that will help developers work with: Object Operator (->) and Scope Resolution Operator (::), also called Paamayim Nekudotayim. To use it just press CTRL + . (dot) in place where you want to put one of the operators. Studio will detect actual context and will put proper version of operator into source code e.g. (

Read more : Code Faster with the New Smart Object Operator Shortcut

Posted in Web.

Tagged with , , , , , , , , , , , .

Sky’s 3D channel will close on June 9, all content moving to on-demand

Sky logo
UK broadcaster Sky has confirmed that it will be closing its dedicated 3D channel next month. From June 9, customers wanting to access Sky’s 3D content will only be able to do so via its on-demand channels. To this end, there will be a new 3D segment in the Sky Box Sets, Movies, Store and TV Guide sections. Sky isn’t the first broadcaster to scale back its 3D ambitions. In 2013 ESPN shut down its 3D programming after just three years in use. The move to on-demand means that you will need to have a broadband connection for it to…

This story continues at The Next Web

Read more : Sky’s 3D channel will close on June 9, all content moving to on-demand

Posted in Android, Apple, Business, Elgg, JavaScript, Startups, Technology, Web Design.

Tagged with , , , , , , , , , , , .

Carphone Warehouse is launching its own mobile service in the UK next month

Carphone Warehouse has today confirmed that it will be launching its own operator service in May, called iD. The service will be underpinned by Three’s network infrastructure, and looks to differentiate itself from national rivals like EE or Vodafone with its data roaming plans, just like Three does. The company says that iD customers will get access to their regular data allowances in 22 different countries: Australia, Austria, Bulgaria, Czech Republic, Denmark, Estonia, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Luxembourg, Malta, Netherlands, Portugal, Poland, Romania, Spain, Sweden and the US. While it’s not saying much about the actual plans it…

This story continues at The Next Web

Read more : Carphone Warehouse is launching its own mobile service in the UK next month

Posted in Inspiration, Popular, Web.

Tagged with , , , , , , , .

Apigility 1.1.1 Released!

We’re happy to announce the immediate availability of Apigility 1.1.1!

This is our first maintenance release on the 1.1 series, and incorporates feedback received immediately following the 1.1.0 release. Among the important updates:

  • Doctrine-Connected services now support the Doctrine Mongo Object Document Manager!
  • Fixes to how packaging is triggered to ensure it works out-of-the-box.
  • Growl“-style notifications to let you know when actions are successful — or if there was an error!
  • Numerous UI improvements, including type-to-select in a variety of select dropdowns, ability to generate documentation payloads from fields configuration, rendering fixes, and more.

You can find out how to install Apigility on the download page; existing users should be able to run “composer update” in their project root to grab the latest changes.

For a full list of changes, visit the changelog.

Read more : Apigility 1.1.1 Released!

Posted in Web.

Tagged with , , , , , , , , .

Apigility 1.1.0 Released!

I’m pleased to announce that we’ve just released Apigility 1.1.0!

Pick up your copy here:

There are a ton of new features, but the most visible are:

  • A brand new UI! We’ve rewritten the UI from scratch to get better performance, provide better responsiveness, and bring the most-required information to your fingertips.
  • Doctrine-Connected REST service creation (if the zfcampus/zf-apigility-doctrine module is present)
  • Database Autodiscovery, which improves on the DB-Connected services by allowing you to choose all tables you wish to expose as services, and to provide basic validations based on column types.
  • Addition of a Packaging service to the Admin API and UI to simplify and automate creation of deployment packages.
  • Apigility now supports multiple authentication adapters for each type supported, and per API authentication (vs per-application, as supported in 1.0).

There are a ton of other features; for more details, you can read the full release notes on github:

There’s never been a better time to build an API!

Read more : Apigility 1.1.0 Released!

Posted in Web.

Tagged with , , , , , , , , .