Expand description
§use-php
Feature-gated facade crate for RustUse PHP language, package, standards, and ecosystem primitives.
§Experimental
use-php is experimental while the release line remains below 0.3.0.
§Example
#[cfg(feature = "full")]
{
use use_php::prelude::{
ComposerJson, ComposerPackageName, PhpVersion, WordPressPostTypeSlug,
};
let version: PhpVersion = "8.3.2".parse()?;
let package = ComposerJson::new().with_name(ComposerPackageName::new("acme/demo")?);
let post_type = WordPressPostTypeSlug::new("book")?;
assert_eq!(version.major(), 8);
assert_eq!(package.name().unwrap().package(), "demo");
assert_eq!(post_type.as_str(), "book");
}§Scope
- One facade dependency for focused PHP primitive crates.
- Feature-gated modules that mirror the child crate boundaries.
- Metadata primitives for language labels, Composer, Packagist, PSR, extensions, WordPress, Drupal, and Laravel.
§Non-goals
- PHP interpreter behavior, full parser frameworks, Composer resolution, network clients, or framework SDKs.
§License
Licensed under either Apache-2.0 or MIT.
Re-exports§
pub use use_composer_json as composer_json;pub use use_drupal as drupal;pub use use_laravel as laravel;pub use use_packagist as packagist;pub use use_php_attribute as attribute;pub use use_php_autoload as autoload;pub use use_php_docblock as docblock;pub use use_php_error as error;pub use use_php_extension as extension;pub use use_php_ini as ini;pub use use_php_namespace as namespace;pub use use_php_symbol as symbol;pub use use_php_syntax as syntax;pub use use_php_token as token;pub use use_php_type as type_;pub use use_php_version as version;pub use use_psr as psr;pub use use_wordpress as wordpress;pub use use_wordpress_block as wordpress_block;pub use use_wordpress_hook as wordpress_hook;
Modules§
- prelude
- Common RustUse PHP primitive re-exports.
Structs§
- Artisan
Command Name - Autoload
Config - Lightweight autoload configuration metadata.
- Autoload
Path - Composer
Json - Partial practical Composer JSON metadata.
- Composer
Package Name - Composer package name metadata in
vendor/packageform. - Composer
Requirement - Diagnostic
Message - Docblock
- PHPDoc block summary/body metadata.
- Docblock
Tag - Lightweight PHPDoc tag metadata.
- Docblock
Type String - Drupal
Config Object Name - Drupal
Module Name - Drupal
Permission - Drupal
Route Name - Hook
Callback Metadata - WordPress callback metadata.
- Hook
Name - WordPress hook name metadata.
- Hook
Priority - WordPress hook priority metadata.
- Hook
Reference - WordPress hook reference metadata.
- Laravel
Config Key - Laravel
Metadata - Laravel metadata reference.
- Laravel
Route Name - Packagist
Download Count - Packagist download count metadata.
- Packagist
Package Name - Packagist package name metadata in
vendor/packageform. - PhpDiagnostic
- PHP diagnostic metadata.
- PhpExtension
Name - PhpExtension
Requirement - PHP extension requirement metadata.
- PhpFully
Qualified Name - Fully qualified PHP name metadata.
- PhpIni
Directive - PHP INI directive metadata.
- PhpIni
Directive Name - PhpNamespace
Alias - PhpNamespace
Path - PhpSymbol
- PHP symbol metadata.
- PhpToken
- Lightweight token metadata.
- PhpToken
Span - Byte span metadata for a token in source text.
- PhpToken
Text - Non-empty token text metadata.
- PhpType
Name - Lightly validated PHP type name metadata.
- PhpUse
Import - PHP namespace import metadata.
- PhpVersion
- Lightweight PHP version metadata.
- PhpVersion
Branch - PHP minor release branch metadata such as
8.3. - Psr4
Mapping - PSR-4 prefix-to-path mapping metadata.
- Psr4
Prefix - PSR-4 namespace prefix metadata.
- PsrMetadata
- PHP-FIG PSR metadata record.
- PsrNumber
- PHP-FIG PSR number metadata.
- PsrTitle
- PSR title metadata.
- Symbol
Name - Lightly validated PHP symbol name metadata.
- TagName
- Word
Press Block Json - WordPress
block.json-oriented metadata. - Word
Press Block Name - WordPress block name metadata in
namespace/blockform. - Word
Press Capability - Word
Press Plugin Header - WordPress plugin header metadata.
- Word
Press Post Type Slug - Word
Press Rest Route
Enums§
- Autoload
Strategy - PHP autoload strategy metadata.
- Composer
Stability - Composer stability label metadata.
- Docblock
TagKind - Common PHPDoc tag kind metadata.
- Hook
Kind - WordPress hook kind metadata.
- Packagist
Stability - Packagist stability metadata.
- PhpDeclaration
Kind - PhpError
Kind - Broad PHP diagnostic category metadata.
- PhpError
Level - PHP error level metadata.
- PhpExtension
Kind - PHP extension kind metadata.
- PhpIni
Environment - PHP INI environment label metadata.
- PhpIni
Value - Scalar PHP INI value metadata.
- PhpKeyword
- PhpModifier
- PhpScalar
Type - PHP scalar type metadata.
- PhpSeverity
- Severity metadata for PHP diagnostics.
- PhpSupport
Phase - Static support phase labels for PHP version metadata.
- PhpToken
Category - Broad PHP token category metadata.
- PhpType
- PHP type metadata without type-checker behavior.
- PhpType
Kind - Broad PHP type kind metadata.
- PhpVisibility
- PsrCategory
- Broad PSR category metadata.
- PsrStatus
- PSR status metadata.
- Symbol
Kind - PHP symbol kind metadata.
- Word
Press Block Support - WordPress block support metadata.