Skip to content

m3m0r7/pnl

Repository files navigation

pnl

日本語版

pnl makes it easy to use C libraries from PHP. It installs library "packages", finds the C library and headers already on your machine, generates PHP wrappers, and exposes everything through the Pnlx PHP SDK — think Composer, but for C libraries.

pnl init
pnl search 'lib*'    # browse available packages (default repo + your own)
pnl install libc
pnl list 'lib*'      # show what you have installed

See the Quick Start to call C printf from PHP in a minute.

Table of Contents

Documentation

  • Overview — What pnl is, how it works, and project status.
  • Quick Start — Call C printf from PHP in a few commands.
  • Installation — Requirements and building/installing the binaries.
  • Configuration — Project layout and writing pnl.json.
  • Install Sources — URLs, paths, bare names, archives, and native discovery.
  • Commandspnl and pnlx command reference.
  • PHP Usage — Loading extensions and the generated files.
  • Development — Validation, testing, and the JSON schemas.

The official default package repository is https://github.com/m3m0r7/pnl-packages, which publishes a repository-index.json so pnl search can browse it without cloning. A repository may also expose short aliases (e.g. sdllibsdl), so pnl install sdl resolves to the referenced package. The built-in endpoints can be overridden per project — see Configuration.

The generated PHP SDK loads itself through its own autoloader (@pnlx/autoload.php), so it runs without a Composer autoloader at runtime.

License

This repository is currently marked as MIT in composer.json. The bundled C libraries keep their own upstream licenses; see the package manifests and READMEs at https://github.com/m3m0r7/pnl-packages.

About

A package manager for using native libraries in PHP

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors