The latest PhpStorm 8 EAP brings support for PSR-0 and PSR-4 namespace roots. PhpStorm comes with a configurable convention which specifies that the project Source Root is also a root for the package and namespace. In other words: every directory created under the Source Root will be considered a separate namespace.
PSR-0, also known as the Autoloading Standard, prescribes that classes and namespaces in PHP should match the directory and file structure, and vice-versa. PSR-4 allows specifying a namespace prefix for a given directory explicitly. Having this project structure makes autoloaders in different PHP frameworks interoperable.
When developing PHP applications, chances are at one point we will be deploying them. During development we may want to deploy our application to a testing/staging server or a Vagrant box. And once release day is there we want to make sure our carefully crafted code makes it to production. We’re happy to announce several resources that will help doing all these tasks!
First of all, we’ve just released a series of tutorials around deployments using PhpStorm:
Next, we’ve recently done a webinar on the topic. How easy is it to connect to remote hosts from PhpStorm and copy over files from our project to the server? Can we do that when committing code to VCS? This screencast covers the basics as well as how we can map different folders in our project to different folders on the server, synchronize application code and more. And since deployment can be more than copying files, Phing and database deployment is also covered.
As always, we highly appreciate your feedback through the issue tracker, by posting your comments below or in our forums!
We are pleased to announce Lexik as our new PhpStorm training partner in France. Founded as a web agency in 2006, Lexik quickly began working with the Symfony framework and trained their engineers to become true certified experts. On top of their daily projects, they provide Symfony2 training for PHP experts, which now includes a bundled PhpStorm personal license.
In addition to using PhpStorm IDE in the classroom, attendees will have access to one year of free product updates, and will be able to continue using PhpStorm for their own projects and learning well beyond the course. Having already realized the in-house productivity gains that PhpStorm is able to provide, we have full confidence that Lexik and their trainings will help local companies achieve the same outstanding results.
About JetBrains Partner Program
JetBrains is dedicated to cooperating with consulting and training companies. We aim to provide our partners with the tools and support that help make programs even more successful.
Support for PHP remote interpreters has been introduced in PhpStorm 8 EAP. It lets us use a PHP interpreter over SSH installed on any remote environment, to run/debug application and run testing tools remotely.
Using a remote interpreter instead of a local one gives us an opportunity to get advantages of a PHP interpreter installed in a production-like environment (be it a physical server, a virtualized environment such as Vagrant, or any other). That way we can make sure there will be no inconsistencies when the application is finally deployed to production.
In this blog post we will look into configuring and using PHP remote interpreters for PHPUnit.
Since PhpDocumentor allows Markdown in documentation blocks (as stated here), we have added Markdown support to PhpStorm 8 too when showing a quick documentation of classes, functions, etc. Here is a list of what is actually supported from Markdown syntax specification, with some examples:
Paragraphs separated by one or more line breaks. There is a continuous flow of text inside a paragraph without line breaks from the original description.
Headers. You can use the following style, for example:
My Header ORMy Header
or use the number sign (#):
# My Header 1
## My Header 2
Emphasis. A piece of text surrounded with underscore characters (_) or asterisks (*) is rendered as underlined. You can also use double asterisks (**) to make it bold. Note that if the underscore character appears inside a name, for example my_variable, it is left as is.
Lists. You can use asterisks (*) or short dashes (-) at the beginning of a line to mark a list item. For example:
These will be translated to an HTML list as follows:
Code blocks. Wrap the code into backtick quotes (`) as follows:
*// This is a code fragment
Note: It is possible to use HTML markup in combination with Markdown.
And finally, a larger sample:
* # MyClass Documentation
* Describes _how to use_ the class with some examples: