Alex Bowers: Writing a Hello World PHP 7 Extension

In a recent post to his site Alex Bowers shows you the steps involved in creating a "Hello World" PHP 7 extension with some basic output functionality – basically just echoing out a message.

He jumps right into the code and shows you how to:

  • set up the directory and initial files for the extension
  • write the test case first (a simple PHP file checking if it’s loaded and can be used)
  • updating the config.m4 to allow for enabling the extension
  • the code for src/hello.h to define the function

The final piece is the code in the src/hello.c – the C code to define some structure for the PHP interpreter to understand and be able to execute the PHP_FUNCTION(hello_world). Finally he shows how to make the extension to install it, add it to your php.ini file as a shared module and re-run the test.

Adam Wathan: Writing Your Own Test Doubles

In this recent post to his site Adam Wathan about writing your own custom test doubles (fakes) to help make your tests cleaner and improve their overall readability/maintainability.

Once in a while I run into a situation where trying to use a mocking library hurts the readability of my test. For example, say I’m building out a basic user registration flow where someone signs up and receives a welcome email. […] To test that an account is created correctly, I can make a request to the endpoint and verify that the new account exists in a test database. […] This covers creating the account itself, but what’s the best way to test the welcome email?

He goes through a few of the options that could be used to test this including using Mockery to replace the mailer class with a spy or actually sending emails. There’s downfalls to both of these methods and he suggests using a custom "fake" where the mailer class is swapped out with an "in-memory" option with the same kind of interface. He does point out a few issues with this method, however, and offers a few tips to remember when using them.

Nate Krantz: How I’m Writing Unit / Functional Tests

In a recent post Nate Krantz has shared some of his own methods around writing functional and unit tests.

So…testing. That thing that everyone says is so important but you don’t really learn about it in school. I’ve had some trials and tribulations with testing so I’m going to just dump out some thoughts here.

He starts with a bit of background on his own experiences in development and how he finally decided that testing would „solve everything“. He started with unit tests (for a CodeIgniter application) and how he got them up and running. He talks about issues he found around dependencies (and static methods) and how he made use of mocks to reduce some of the issues with dynamic loading, at least how CodeIgniter does it. Unfortunately, this didn’t work out as planned so he fell back to a test database and create more effective and simpler functional tests. Code examples are sprinkled through out the post to show how he was trying to solve the problem at different points in the process.

Link: Writing Better PHP: Drei Guides

Auf heute John Esposito hat etwa drei Leitfäden veröffentlicht , dass möchten Ihnen helfen, Ihre PHP-Entwicklung Fähigkeiten (einschließlich einem Forum und zwei Artikel).

Manchmal, dann verbessern Sie Ihre allgemeine „brain-Programmierung“ wird Ihnen helfen, Ihre Anlage mit einer bestimmten Sprache. Zu anderen Zeiten ist es umso wichtiger, die Nuancen einer Sprache zu lernen, aufmerksam auf die Art der Anwendungen die Sprache verwendet wird. […] Für die Verbesserung Ihrer PHP, dann können Sie zwei Dinge tun: ein besserer Programmierer, und verstehen, PHP feiner, tiefer.

Die Führungen teilen sich eine Menge von der gleichen Konzepte in common – Namenskonventionen, die Trennung von Funktionalität, DRY (don ‚ t Repeat Yourself), Test-Code, etc. PHP Master: Writing Cutting-Edge-Code

Auf heute (Disclaimer: PHPMaster ist ein SitePoint Website) Timothy Boronczyk hat posted eine Überprüfung von neueste Angebot SitePoint ist für PHP-Entwickler – Writing Cutting-Edge-Code (von Lorna Mitchell , Davey Shafik und Matthew Turland ).

Das Buch wurde explizit um Ihnen zu helfen, ein besserer PHP-Programmierer und ist total genial geschrieben. Es deckt nicht nur die erweiterte PHP-Programmierung Themen wie objektorientierte Programmierung und Design-Patterns, sondern auch Peripherie Themen, die genauso wichtig sind, wie Sicherheit, Performance-Profiling und Bereitstellung. Wenn Sie bereit zum Aufhängen von Novize hat für eine gute und ein professioneller Ebene PHP-Entwickler sind, ist dieses Buch für Sie.

Er geht durch und stellt einige der Inhalte im Buch, Kapitel über relationale Datenbanken, Web Services, Security-Themen, Caching, automatisierte Tests, um PEAR / PECL….just nur einige zu nennen.

Mit dem Slashdot Skala von Buch bewerten , wobei 1 für die Auskleidung Käfigen ist fit und 10 ist dazu bestimmt, eine Klasse sein, gebe ich PHP Master: Schreiben Sie Cutting-Edge-Code eine sehr solide 8,5. Die Inhalte werden mit Ihnen wachsen und das Buch ist nicht etwas, das man an einem Wochenende gelesen werden und dann zu spenden, um die Bibliothek, weil Sie keine für sie haben müssen.