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, 2012

Hugh Williams’ Blog: "PHP at Scale" panel discussion at the PHP UK Conference 2012

Hugh Williams’ Blog: "PHP at Scale" panel discussion at the PHP UK Conference 2012

Hugh Williams has a new post with his recap of the “PHP at Scale” panel from this year’s PHP UK Conference.

The good news was that Rasmus and Nikolay couldn’t see any reasons why PHP was particularly challenging. What we saw were general challenges in scaling applications to large traffic volumes – and that’s pretty much where the panel discussion went. Here’s a few key points from the discussion.

Highlighted points included: removing bottlenecks to help performance (simple in theory, hard in practice), the fact that PHP should never be the bottleneck, the “odd direction” of HipHop, challenges/growing pains in moving from startup to a large web property. There was also a less technical discussion about “scaling teams” and finding the right (motivated) people to do the job.

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

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

Hugh Williams’ Blog: "PHP at Scale" panel discussion at the PHP UK Conference 2012

Hugh Williams’ Blog: "PHP at Scale" panel discussion at the PHP UK Conference 2012

Hugh Williams has a new post with his recap of the “PHP at Scale” panel from this year’s PHP UK Conference.

The good news was that Rasmus and Nikolay couldn’t see any reasons why PHP was particularly challenging. What we saw were general challenges in scaling applications to large traffic volumes – and that’s pretty much where the panel discussion went. Here’s a few key points from the discussion.

Highlighted points included: removing bottlenecks to help performance (simple in theory, hard in practice), the fact that PHP should never be the bottleneck, the “odd direction” of HipHop, challenges/growing pains in moving from startup to a large web property. There was also a less technical discussion about “scaling teams” and finding the right (motivated) people to do the job.

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

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

Till Klampaeckel’s Blog: Deploying PHP applications: PEAR and composer resources for chef

Till Klampaeckel’s Blog: Deploying PHP applications: PEAR and composer resources for chef

In a new post to his site Till Klampaeckel shows how to use PEAR and composer resources (two popular PHP package management tools) from inside of a chef deployment script.

This is something experimental I have been working on for our chef deployments. So the objective was/is to find a sane way to install PEAR packages and install dependencies with composer.

He shows how to set up the configuration script to discover a new PEAR channel, make the chef script not “fail hard” if a command returns a failed response code (as PEAR will do if the channel is already discovered). The “ignore_failure” configuration directive comes in handy for this. He also shows how to implement a LWRP in chef for both a PEAR and Composer resource.

You can find the code for this and other cookbook examples on his github account.

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

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

Till Klampaeckel’s Blog: Deploying PHP applications: PEAR and composer resources for chef

Till Klampaeckel’s Blog: Deploying PHP applications: PEAR and composer resources for chef

In a new post to his site Till Klampaeckel shows how to use PEAR and composer resources (two popular PHP package management tools) from inside of a chef deployment script.

This is something experimental I have been working on for our chef deployments. So the objective was/is to find a sane way to install PEAR packages and install dependencies with composer.

He shows how to set up the configuration script to discover a new PEAR channel, make the chef script not “fail hard” if a command returns a failed response code (as PEAR will do if the channel is already discovered). The “ignore_failure” configuration directive comes in handy for this. He also shows how to implement a LWRP in chef for both a PEAR and Composer resource.

You can find the code for this and other cookbook examples on his github account.

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

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

PHPMaster.com: Building a Domain Model – An Introduction to Persistence Agnosticism

PHPMaster.com: Building a Domain Model – An Introduction to Persistence Agnosticism

On PHPMaster.com there’s a recent tutorial introducing the concept of a “domain model” and showing how to create them in PHP (manually, not inside of any ORM or database solution).

First off, creating a rich Domain Model, where multiple domain objects with well-defined constraints and rules interact, can be a daunting task. Second, not only is it necessary to define from top to bottom the model itself, but it’s also necessary to implement from scratch or reuse a mapping layer in order to move data back and forward between the persistence layer and the model in question.

They include an example of a set of domain models tat relate to one another – a blog setup with posts, comments and users. They show how to create the AbstractEntity to handle a bit of the magic behind the scenes, an example “Post” and “Comment” models and how they can be put to work creating some posts and appending comments. A little bit of markup is included to output the results.

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

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

PHPMaster.com: Building a Domain Model – An Introduction to Persistence Agnosticism

PHPMaster.com: Building a Domain Model – An Introduction to Persistence Agnosticism

On PHPMaster.com there’s a recent tutorial introducing the concept of a “domain model” and showing how to create them in PHP (manually, not inside of any ORM or database solution).

First off, creating a rich Domain Model, where multiple domain objects with well-defined constraints and rules interact, can be a daunting task. Second, not only is it necessary to define from top to bottom the model itself, but it’s also necessary to implement from scratch or reuse a mapping layer in order to move data back and forward between the persistence layer and the model in question.

They include an example of a set of domain models tat relate to one another – a blog setup with posts, comments and users. They show how to create the AbstractEntity to handle a bit of the magic behind the scenes, an example “Post” and “Comment” models and how they can be put to work creating some posts and appending comments. A little bit of markup is included to output the results.

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

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

Derick Rethans’ Blog: Random Bugs and Testing RCs

Derick Rethans’ Blog: Random Bugs and Testing RCs

In a new post to his blog Derick Rethans mirrors the call made by Rasmus Lerdorf at this year’s PHP UK Conference – get involved (and help test PHP)!

At the PHP UK Conference Rasmus mentioned that he wants more people contributing to PHP. There are plenty of ways how you can do that.

Derick points out two more immediate ways you can help, one not even requiring any C knowledge:

  • Help test the Release Candidates (like the current PHP 5.4.0 RC8) with a call to “make test” just after your compile.
  • The recently added “random PHP bug” functionality that’s been added to the bugs.php.net site

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

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

Derick Rethans’ Blog: Random Bugs and Testing RCs

Derick Rethans’ Blog: Random Bugs and Testing RCs

In a new post to his blog Derick Rethans mirrors the call made by Rasmus Lerdorf at this year’s PHP UK Conference – get involved (and help test PHP)!

At the PHP UK Conference Rasmus mentioned that he wants more people contributing to PHP. There are plenty of ways how you can do that.

Derick points out two more immediate ways you can help, one not even requiring any C knowledge:

  • Help test the Release Candidates (like the current PHP 5.4.0 RC8) with a call to “make test” just after your compile.
  • The recently added “random PHP bug” functionality that’s been added to the bugs.php.net site

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

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

Chris Hartjes’ Blog: Simple API Testing Using Behat

Chris Hartjes’ Blog: Simple API Testing Using Behat

Chris Hartjes has taken some of his first steps to testing a web service with the help of the Behat BDD testing framework. In this new post he shares some of that knowledge and a bit of code to help guide you if you’d like to get started yourself.

I have been trying to push my JavaScript skills lately by first playing around with Node.js to get a feel for event-driven server-side coding and by trying to build something semi-useful using Knockout. [...] After working with PHPUnit’s “assert that the result matches expectations” philosophy, switching to using a behavioural approach has changed how I decide to approach actually testing something.

He shows how to define a “scenario” in a more recognizable sort of English. His example is testing a web service to ensure of a few things:

  • the response is JSON
  • it contains at least one transaction
  • the first transaction has an ID, contains two teams and has a description

Included in the post is the resulting Behat test code (generated and modified with his testing details) and an example of the execution of the test.

I think that the BDD approach maps better to a results-oriented methodology when it comes to testing: you are using real-life scenarios to make sure that you are getting back the results you are expecting. In the end. that is still the goal of testing.

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

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

Chris Hartjes’ Blog: Simple API Testing Using Behat

Chris Hartjes’ Blog: Simple API Testing Using Behat

Chris Hartjes has taken some of his first steps to testing a web service with the help of the Behat BDD testing framework. In this new post he shares some of that knowledge and a bit of code to help guide you if you’d like to get started yourself.

I have been trying to push my JavaScript skills lately by first playing around with Node.js to get a feel for event-driven server-side coding and by trying to build something semi-useful using Knockout. [...] After working with PHPUnit’s “assert that the result matches expectations” philosophy, switching to using a behavioural approach has changed how I decide to approach actually testing something.

He shows how to define a “scenario” in a more recognizable sort of English. His example is testing a web service to ensure of a few things:

  • the response is JSON
  • it contains at least one transaction
  • the first transaction has an ID, contains two teams and has a description

Included in the post is the resulting Behat test code (generated and modified with his testing details) and an example of the execution of the test.

I think that the BDD approach maps better to a results-oriented methodology when it comes to testing: you are using real-life scenarios to make sure that you are getting back the results you are expecting. In the end. that is still the goal of testing.

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

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