Skip to Content
Expert PHP and MySQL®
book

Expert PHP and MySQL®

by Andrew Curioso, Ronald Bradford, Patrick Galbraith
March 2010
Intermediate to advanced
622 pages
15h 16m
English
Wrox
Content preview from Expert PHP and MySQL®

Chapter 8. Writing PHP Extensions

WHAT'S IN THIS CHAPTER?

  • Setting up a new PHP extension project

  • Adding functions to extensions

  • Dealing with variables from PHP

  • Using hash tables and arrays

  • Accessing MySQLi query results

  • Defining an object

  • Defining an interface

  • Providing more information about an extension

Sometimes pure PHP is not enough. Most commonly, this happens when speed is an issue or integration with a third-party non-PHP library is necessary. Writing extensions is also very useful for creating persistent resources.

This chapter builds a fully functional PHP extension that works with MySQLi Result objects and also performs various tasks relating to each type of data. It is intended for demonstration purposes only, but it works well and can be a good starting point for a custom extension.

This chapter assumes an intermediate understanding of the C language. Particular skill sets that are useful include pointers and memory allocation.

SETTING UP THE BUILD ENVIRONMENT

For many developers, one of the most frustrating parts about writing a PHP extension is simply that the extensions aren't written in PHP. Like MySQL UDFs, PHP extensions are also written in C. The C language doesn't have an automatic garbage collector, memory management, or any of the niceties of PHP so it can be much more difficult to work with. However, thanks to the Zend engine that powers PHP and the PHP engine itself, it maintains all the flexibility of PHP while adding the benefits of a lower-level language with direct ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Jump Start PHP Environment

Jump Start PHP Environment

Bruno Skvorc
PHP 7 Programming Blueprints

PHP 7 Programming Blueprints

Jose Palala, Martin Helmich

Publisher Resources

ISBN: 9780470563120Purchase book