Skip to main content

Crate use_php

Crate use_php 

Source
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§

ArtisanCommandName
AutoloadConfig
Lightweight autoload configuration metadata.
AutoloadPath
ComposerJson
Partial practical Composer JSON metadata.
ComposerPackageName
Composer package name metadata in vendor/package form.
ComposerRequirement
DiagnosticMessage
Docblock
PHPDoc block summary/body metadata.
DocblockTag
Lightweight PHPDoc tag metadata.
DocblockTypeString
DrupalConfigObjectName
DrupalModuleName
DrupalPermission
DrupalRouteName
HookCallbackMetadata
WordPress callback metadata.
HookName
WordPress hook name metadata.
HookPriority
WordPress hook priority metadata.
HookReference
WordPress hook reference metadata.
LaravelConfigKey
LaravelMetadata
Laravel metadata reference.
LaravelRouteName
PackagistDownloadCount
Packagist download count metadata.
PackagistPackageName
Packagist package name metadata in vendor/package form.
PhpDiagnostic
PHP diagnostic metadata.
PhpExtensionName
PhpExtensionRequirement
PHP extension requirement metadata.
PhpFullyQualifiedName
Fully qualified PHP name metadata.
PhpIniDirective
PHP INI directive metadata.
PhpIniDirectiveName
PhpNamespaceAlias
PhpNamespacePath
PhpSymbol
PHP symbol metadata.
PhpToken
Lightweight token metadata.
PhpTokenSpan
Byte span metadata for a token in source text.
PhpTokenText
Non-empty token text metadata.
PhpTypeName
Lightly validated PHP type name metadata.
PhpUseImport
PHP namespace import metadata.
PhpVersion
Lightweight PHP version metadata.
PhpVersionBranch
PHP minor release branch metadata such as 8.3.
Psr4Mapping
PSR-4 prefix-to-path mapping metadata.
Psr4Prefix
PSR-4 namespace prefix metadata.
PsrMetadata
PHP-FIG PSR metadata record.
PsrNumber
PHP-FIG PSR number metadata.
PsrTitle
PSR title metadata.
SymbolName
Lightly validated PHP symbol name metadata.
TagName
WordPressBlockJson
WordPress block.json-oriented metadata.
WordPressBlockName
WordPress block name metadata in namespace/block form.
WordPressCapability
WordPressPluginHeader
WordPress plugin header metadata.
WordPressPostTypeSlug
WordPressRestRoute

Enums§

AutoloadStrategy
PHP autoload strategy metadata.
ComposerStability
Composer stability label metadata.
DocblockTagKind
Common PHPDoc tag kind metadata.
HookKind
WordPress hook kind metadata.
PackagistStability
Packagist stability metadata.
PhpDeclarationKind
PhpErrorKind
Broad PHP diagnostic category metadata.
PhpErrorLevel
PHP error level metadata.
PhpExtensionKind
PHP extension kind metadata.
PhpIniEnvironment
PHP INI environment label metadata.
PhpIniValue
Scalar PHP INI value metadata.
PhpKeyword
PhpModifier
PhpScalarType
PHP scalar type metadata.
PhpSeverity
Severity metadata for PHP diagnostics.
PhpSupportPhase
Static support phase labels for PHP version metadata.
PhpTokenCategory
Broad PHP token category metadata.
PhpType
PHP type metadata without type-checker behavior.
PhpTypeKind
Broad PHP type kind metadata.
PhpVisibility
PsrCategory
Broad PSR category metadata.
PsrStatus
PSR status metadata.
SymbolKind
PHP symbol kind metadata.
WordPressBlockSupport
WordPress block support metadata.