Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!

Archive for Luty, 2014

Johannes Schlüter: On rumors of “PHP dropping MySQL”

Johannes Schlüter: On rumors of “PHP dropping MySQL”

There’s been some rumors floating around about the possibility of PHP’s MySQL support going away in upcoming versions of the language. In his latest post Johannes Schlüter tries to bring a bit of clarity to these rumors and what’s actually being removed.

Over the last few days different people asked me for comments about PHP dropping MySQL support. These questions confused me, but meanwhile I figured out where these rumors come from and what they mean. The simple facts are: No, PHP is not dropping MySQL support and we, Oracle’s MySQL team, continue working with the PHP community.

He suggests that the confusion might have come from the recent changes to “soft deprecate” the oldest ext/mysql functionality and warn users against using it in their applications. He talks about the history of MySQL support in PHP and one project that removing it could adversely effect (WordPress).

Link: http://schlueters.de/blog/archives/177-On-rumors-of-PHP-dropping-MySQL.html
Source: http://www.phpdeveloper.org/news/20826

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Evert Pot: Composer’s bug now fixed

Evert Pot: Composer’s bug now fixed

Evert Pot has posted an update to a previous post around Composer’s vulnerability around installing the wrong packages in the case of a conflict. In this latest post he points out, however, that the bug is now fixed.

As an update to my previous post, the composer security problem now appears fixed. Good to see that a quick response was possible after all.

The original issue was caused by the “replace” functionality, allowing the possibility for an incorrect package to be installed instead of the one requested. Other posts with more details include this one from Pádraic Brady and Nils Adermann. if you’re a Composer user, it’s highly suggested you update your currently installed version (run a “composer self-update”).

Link: http://evertpot.com/composer-bug-fixed
Source: http://www.phpdeveloper.org/news/20825

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

SitePoint PHP Blog: Why Choose PHP Over Alternatives?

SitePoint PHP Blog: Why Choose PHP Over Alternatives?

On the SitePoint PHP blog Bruno Skvorc has a new article with a few of the reasons why to choose PHP over other alternatives. It’s a quick post with only a few points, but it’s interesting for its choices of when not to use PHP.

It’s a popular question. Why indeed should one pick PHP over one of the alternatives? After all, PHP has often been dismissed as a hacky, unusable and badly designed language. Why would anyone choose it, when starting a project from scratch? Instead of listing the reasons why people do choose it (mostly widespread availability), let’s instead focus on why people should choose it. We can’t talk about that, however, without first mentioning why they shouldn’t.

Among their suggestions of when not to use PHP are things like building command line applications and “just because it’s there” on your shared hosting. There’s a section near the end of the article that talks about some of the work that’s been done to try to dispel the “bad press” PHP has gotten and how other languages (his illustration is Javascript) have the same kind of taunting and nitpicking happening as well.

Link: http://www.sitepoint.com/why-choose-php/
Source: http://www.phpdeveloper.org/news/20824

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

/Dev/Hell Podcast: Episode 39: Animal Style

/Dev/Hell Podcast: Episode 39: Animal Style

The latest episode of the /Dev/Hell podcast, hosted by PHP community members Ed Finkler and Chris Hartjes, has been released – Episode 39: “Animal Style”.

This was recorded the night before SkiPHP started, which was an awesome PHP conference in Salt Lake City. We ramble about a lot of stuff, including our first conferences, America’s first serial killer, our approaches for giving talks, and Chris’ secret identity.

You can check out this latest episode either through the in-page player or by downloading the mp3 directly. If you like what you hear, consider subscribing to their feed to get this and future episodes.

Link: http://devhell.info/post/2014-02-20/animal-style/
Source: http://www.phpdeveloper.org/news/20823

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Ben Ramsey: Dates Are Hard

Ben Ramsey: Dates Are Hard

In a new post to his site Ben Ramsey talks about why dates are hard and can be frustrating to work with sometimes. It revolves around an issue he recently found with calculating a time for a UUID and days of the week.

No, I’m not talking about a meeting with a lover or potential lover. While those can be stressful, the calendar math used to determine the precise date and time on which such a meeting might occur is infinitely more difficult to perform. To software programmers, this isn’t news, but I recently encountered an issue when calculating the time for an RFC 4122 UUID that had me questioning the accuracy of our modern, accepted calendars, especially with regard to the days of the week on which our dates fall.

In his work on his UUID library, he came across a the bug because of some failing unit tests. It was only happening in certain versions of PHP and upon further investigation found the issue to be a wrong day of the week from a date in 1582 (the correct value being Sunday). As it turned out, the date in question was actually a Saturday and his local environment was reporting bad results. The problem was with a revision made to the Gregorian calendar, removing 10 days causing a difference between the Gregorian and Great Britain versions of 1582.

Link: http://benramsey.com/blog/2014/02/dates-are-hard/
Source: http://www.phpdeveloper.org/news/20822

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Community News: Packagist Latest Releases for 02.24.2014

Community News: Packagist Latest Releases for 02.24.2014Recent releases from the Packagist:

Source: http://www.phpdeveloper.org/news/20820

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Imagine Easy: Pushing the limits of metaprogramming in PHP: aspect oriented design

Imagine Easy: Pushing the limits of metaprogramming in PHP: aspect oriented design

In a new post to the “imagine easy” blog Yitzchak Schaffer looks at Aspect Oriented Programming in PHP and pushing the limits of some of the work already done in the area.

Here’s the premise [of Aspect Oriented Programming]. A given piece of code exists for a certain purpose – let’s say, to retrieve a record from a database. But there may be any number of other things that need to happen in addition to the actual retrieval: logging, access control, caching… those are known as cross-cutting concerns – issues that are relevant across the codebase, but are not specifically relevant to any one piece of code where they might be needed. And being that these bits of functionality are not intrinsically connected with data retrieval, in our example, it would make sense for them to be disconnected from the retrieval implementation.

He includes some example code showing the migration from a typical logging example, moving the logging code away from the other parts and into an “aspect”. He briefly mentions some caching functionality and talks about how one PHP framework, Lithium, makes use of these kinds of AOP principles. He offers an alternative in the form of subtypes, and example of which he’s implemented in a tool of his own, Camphor.

Link: http://dev.imagineeasy.com/post/77176594791/pushing-the-limits-of-metaprogramming-in-php-aspect
Source: http://www.phpdeveloper.org/news/20811

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

Imagine Easy: Pushing the limits of metaprogramming in PHP: aspect oriented design

Imagine Easy: Pushing the limits of metaprogramming in PHP: aspect oriented design

In a new post to the “imagine easy” blog Yitzchak Schaffer looks at Aspect Oriented Programming in PHP and pushing the limits of some of the work already done in the area.

Here’s the premise [of Aspect Oriented Programming]. A given piece of code exists for a certain purpose – let’s say, to retrieve a record from a database. But there may be any number of other things that need to happen in addition to the actual retrieval: logging, access control, caching… those are known as cross-cutting concerns – issues that are relevant across the codebase, but are not specifically relevant to any one piece of code where they might be needed. And being that these bits of functionality are not intrinsically connected with data retrieval, in our example, it would make sense for them to be disconnected from the retrieval implementation.

He includes some example code showing the migration from a typical logging example, moving the logging code away from the other parts and into an “aspect”. He briefly mentions some caching functionality and talks about how one PHP framework, Lithium, makes use of these kinds of AOP principles. He offers an alternative in the form of subtypes, and example of which he’s implemented in a tool of his own, Camphor.

Link: http://dev.imagineeasy.com/post/77176594791/pushing-the-limits-of-metaprogramming-in-php-aspect
Source: http://www.phpdeveloper.org/news/20811

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

php[architect]: February 2014 Issue Released – Databases

php[architect]: February 2014 Issue Released – Databases

The PHP-centric magazine php[architect] has released their latest edition, the February 2014 issue “Databases”.

Before I got into coding I had no concept of what a database was, except that it was a place to store “data.” After reading about “tables” and “relations” I could visualize it better. Later, after working with databases for a few years, I can totally grok it. For years, relational databases were king. Now, it seems that non – relational databases are all the rage. Really, though, it’s like any other tool – you pick the one that suits the situation best.

In this month’s edition articles include:

  • SQL to NoSQL Migration
  • I18n by Translation Proxy
  • The Confident Coder: Attention to Detail
  • Laravel Tips: Rapid Coding and Prototyping Through Generators

…and of course editorials from staff members Eli White and Beth Long Tucker. You can pick up a single copy (in PDF or print) of this issue from the php[architect] site or grab a full year’s subscription.

Link: http://www.phparch.com/magazine/2014-2/february/
Source: http://www.phpdeveloper.org/news/20810

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>

php[architect]: February 2014 Issue Released – Databases

php[architect]: February 2014 Issue Released – Databases

The PHP-centric magazine php[architect] has released their latest edition, the February 2014 issue “Databases”.

Before I got into coding I had no concept of what a database was, except that it was a place to store “data.” After reading about “tables” and “relations” I could visualize it better. Later, after working with databases for a few years, I can totally grok it. For years, relational databases were king. Now, it seems that non – relational databases are all the rage. Really, though, it’s like any other tool – you pick the one that suits the situation best.

In this month’s edition articles include:

  • SQL to NoSQL Migration
  • I18n by Translation Proxy
  • The Confident Coder: Attention to Detail
  • Laravel Tips: Rapid Coding and Prototyping Through Generators

…and of course editorials from staff members Eli White and Beth Long Tucker. You can pick up a single copy (in PDF or print) of this issue from the php[architect] site or grab a full year’s subscription.

Link: http://www.phparch.com/magazine/2014-2/february/
Source: http://www.phpdeveloper.org/news/20810

<!–
var d = new Date();
r = escape(d.getTime()*Math.random());
document.writeln('’);
//–>