Skip to content

Development news and resources #1

Many great things happened in the last few weeks in development world, so I am writing a small roundup of news and resources.

It is hard to follow all the changes, so I will try to make this kind of roundups every now and then to help you find only the freshest and coolest news on development tools, programming languages and links that are interesting.

So let’s begin.

PHP 5.4 released

Few days ago, PHP 5.4 was released. It is a big step forward with many optimization changes and new features. Some of the biggest news is exlpained below.

Traits

As of PHP 5.4.0, PHP implements a method of code reuse called Traits.

Traits is a mechanism for code reuse in single inheritance languages such as PHP. A Trait is intended to reduce some limitations of single inheritance by enabling a developer to reuse sets of methods freely in several independent classes living in different class hierarchies.

The semantics of the combination of Traits and classes is defined in a way which reduces complexity, and avoids the typical problems associated with multiple inheritance and Mixins.

An example:

[code lang=”php”]
trait HelloWorld {
public function sayHello() {
echo ‘Hello World!’;
}
}

class TheWorldIsNotEnough {
use HelloWorld;
public function sayHello() {
echo ‘Hello Universe!’;
}
}

$o = new TheWorldIsNotEnough();
$o->sayHello();
[/code]

Built in Web Server

As of PHP 5.4.0, the CLI SAPI provides a built-in web server.

This web server is designed for developmental purposes only, and should not be used in production.

Shorter array syntax

PHP 5.4 brings us the shorter syntax for arrays.
For example:
[code lang=”php”]
// same as in JavaScript
$cars = [‘Ford’, ‘Honda’, ‘BMW’];
// associative array
$car = [‘type’ => ‘BMW’, ‘serie’ => ‘5’];
[/code]

Old syntax also work!

Other features

Use of $this in closures, class member access on instantiation, <?= is always available.

PHP 5.4.0 significantly improves performance and memory footprint. Also, Content-Type: text/html; charset=utf-8 is always sent; so there is no need to set that HTML meta tag, or send additional headers for UTF-8 compatibility. This is one step forward towards full Unicode support.

CakePHP 2.1.0 released

New minor version of CakePHP was released yesterday. There are over 90 features, changes and improvements in this release of this popular framework. Some of the most interesting:

New content type views

Two new view classes have been added to CakePHP. The new JsonView and XmlView allow you to more easily generate XML and JSON views.

Extending views

The View class has a new method allowing you to wrap or ‘extend’ a view/element/layout with another file.

Plugin.view

All layout/view/element names can now use Plugin.view to indicate that a plugin view should be used. The plugin option for View::element() is deprecated.

Improved errors

The debug() function output is now cleaner and more readable. We have also added interactive stack traces to exception pages.

General purpose event system

A new, generic event system has been built and it replaces the way callbacks are dispatched. You can dispatch your own events and attach callbacks to them at will.

Deep saving

saveAll and friends (saveMany, saveAssociated, validateAssociated …) now accept a new deep option param. For instance you can save the Author, Posts and related comments in just one call. You can also set the fieldList option to these methods, to provide a set of fields that are allowed to be saved.

New ACL engine

In addition to the good old database ACL engine, we have added a new one based on configuration files. This is a great alternative to the database solution for those who want to get a speedy permissions checking system when not requiring a database to dynamically manage permissions.

HtmlHelper::media()

The HtmlHelper gained a new media() method to generate HTML5 compatible audio and video tags with support for multiple alternate sources.

Many more new features are available.

Zend Framework 2.0.0beta3 Released!

Zend Framework is really near its 2.0.0 release.

Featured components and functionality of 2.0.0beta3 include:

  • Refactored Config component
    • All configuration readers have been moved under the Zend\Config\Reader namespace
    • A Zend\Config\Factory has been added to simplify retrieving a config object from a config file
    • Supported configuration formats now support importing additional configuration files
    • All constant processing has been moved to a Zend\Config\Processor namespace, and expanded to be more powerful
  • New View layer
    • New subcomponents include Zend\View\Model, Zend\View\Resolver, Zend\View\Renderer, and Zend\View\Strategy
    • The old Zend_View class has been moved to Zend\View\Renderer\PhpRenderer, and rewritten to move most of its responsibilities into collaborators, greatly simplifying its design while simultaneously giving it more capabilities.
    • A new class, Zend\View\View, allows selecting rendering strategies on a per-template basis, based on arbitrary criteria, and optionally injecting rendering results into a Response object
    • MVC integration streamlines common use cases, including View Model creation and injection, 404 and error page creation, and more.
  • Rewritten DB layer
    • New architecture features low-level drivers, which also provide access to the PHP resource being consumed; adapters, which provide basic abstraction for common CRUD operations; new SQL abstraction layer, with full predicate support; abstraction for ResultSet’s, with the ability to cast rows to specific object types; abstraction for SQL metadata; and a revised Table and Row Data Gateway.
  • New AgileZen component
  • PHP 5.4 Support
    • A number of issues when running ZF2 under PHP 5.4 were identified and corrected.

Sencha Touch 2.0 released

Sencha Touch 2 delivers a major upgrade to the app experiences that you create, the efficiency of your work as a developer, and the ability of your apps to participate in the mobile ecosystem.

Sencha Touch 2 is optimizing scrolling frame rates, layout speed, load time, and even how quickly a button responds to touch.

It is more than 200% faster in start up, scrolling and changing orientation.

New app loader caches your entire application within localStorage. This bypasses the need to download the app on a user’s second visit- in fact your app could load without making a single web request.

This can yield a stunning improvement in the startup speed of your web app – the second visit time is 250% faster when using the loader.

Pinterest Auto Pin for WordPress

Pinterest auto pin

Pinterest Auto Pin for WordPress allows you to quickly and easily add hover – over pin it buttons to your images on the fly making them instantly pinable to any board on Pinterest!

Advanced Custom Fields

Advanced Custom Fields

The Advanced Custom Fields plugin gives you the tools to create your own custom edit screens. Boasting a professional interface and a powerfull API, it’s a must have for any web developer working with WordPress.Field types include: Wysiwyg, text, textarea, image, file, select, checkbox, page link, post object, date picker, color picker and more!

This is one of the best plugins I ever used. It can be downloaded from official site.

Scope: Agency / Business WordPress Theme

scope

Scope is the perfect theme for the creative agency, freelancer or general business. Strong lines, strong colours and a bunch of super-awesome features to keep you busy.

Custom Backgrounds – Scope allows you to set a custom background for each individual post, page and portfolio project. A super-quick way to get creative with your site.

Post formats – Support for post formats means you can jazz up your blog with your own self-hosted video, audio, images, galleries, asides, links, quotes and of course good old standard posts.

That’s it for now. Don’t forget that there are plenty of resources available on Themescripts site!