PhpBrew\Extension\PeclExtension::findConfigM4FileFromPackageXml PHP Method

findConfigM4FileFromPackageXml() public method

    public function findConfigM4FileFromPackageXml()
    {
        if ($contents = $this->package->getContents()) {
            foreach ($contents as $content) {
                if (preg_match('#config[0-9]*.m4$#', $content->file)) {
                    // TODO: make sure the file exists
                    return $content->file;
                }
            }
        }
    }

Usage Example

Example #1
0
 public static function createPeclExtension($packageName, $packageXmlPath)
 {
     $parser = new PackageXmlParser();
     $package = $parser->parse($packageXmlPath);
     $ext = new PeclExtension($packageName);
     $ext->setPackage($package);
     /**
      * xhprof stores package.xml in the root directory, but putting the 
      * config.m4 in the extension directory.
      * the path can be retrieve from the contents part from the package.xml
      */
     if ($m4path = $ext->findConfigM4FileFromPackageXml()) {
         $sourceDirectory = dirname($packageXmlPath);
         $m4dir = dirname($m4path);
         if ($m4dir != '.') {
             $sourceDirectory .= DIRECTORY_SEPARATOR . $m4dir;
         }
         $ext->setSourceDirectory($sourceDirectory);
     } else {
         $ext->setSourceDirectory(dirname($packageXmlPath));
     }
     return $ext;
 }