wireClassName() function

Normalize a class name with or without namespace, or get namespace of class

Default behavior is to return class name without namespace.

Usage

// basic usage
$string = wireClassName($className);

// usage with all arguments
$string = wireClassName($className, $withNamespace = false, bool $verbose = false);

Arguments

NameType(s)Description
classNamestring, object

Class name or object instance

withNamespace (optional)bool, int, string

Should return value include namespace? (default=false)

  • false (bool): Return only class name without namespace (default).
  • true (bool): Yes include namespace in returned value.
  • 1 (int): Return only namespace (i.e. “ProcessWire”, with no backslashes unless $verbose argument is true)
verbose (optional)bool

When namespace argument is true or 1, use verbose return value (added 3.0.143). This does the following:

  • If returning class name with namespace, this makes it include a leading backslash, i.e. \ProcessWire\Wire
  • If returning namespace only, adds leading backslash, plus trailing backslash if namespace is not root, i.e. \ProcessWire\

Return value

string null

Returns string or NULL if namespace-only requested and unable to determine


Functions methods and properties

API reference based on ProcessWire core version 3.0.185

Twitter updates

  • ProcessWire 3.0.192 (dev branch) contains 11 issue fixes and 5 pull requests, over 20 commits— More
    7 January 2022
  • ProcessWire 3.0.191 core updates: updates to the installer and the profile exporter module— More
    24 December 2021
  • This week ProcessWire went on a diet, trimming the core size from 15.5 MB down to 7.5 MB by moving optional site profiles into their own GitHub repos— More
    17 December 2021

Latest news

  • ProcessWire Weekly #402
    In the 402nd issue of ProcessWire Weekly we'll check out ProcessWire 3.0.193, highlight recent ProcessWire projects and resources, and more. Read on!
    Weekly.pw / 22 January 2022
  • ProcessWire 3.0.190 core updates
    ProcessWire 3.0.190 has 15 commits relative to 3.0.189 and contains a mixture of issue resolutions and feature additions. This post covers them all, in addition to updates for the PageAutosave and ProFields Table modules.
    Blog / 3 December 2021
  • Subscribe to weekly ProcessWire news

“I am currently managing a ProcessWire site with 2 million+ pages. It’s admirably fast, and much, much faster than any other CMS we tested.” —Nickie, Web developer