Prado\Web\Javascripts\TJavaScript::JSMin PHP Method

JSMin() public static method

This method is based on Douglas Crockford's JSMin.
public static JSMin ( $code ) : minimized
return minimized version of the code
    public static function JSMin($code)
    {
        return JSMin::minify($code);
    }

Usage Example

Esempio n. 1
0
 /**
  * Registers a Prado javascript library to be loaded.
  */
 protected function registerPradoScriptInternal($name)
 {
     // $this->checkIfNotInRender();
     if (!isset($this->_registeredScripts[$name])) {
         if (self::$_scripts === null) {
             $packageFile = Prado::getFrameworkPath() . DIRECTORY_SEPARATOR . self::PACKAGES_FILE;
             list($folders, $packages, $deps) = (include $packageFile);
             self::$_scriptsFolders = $folders;
             self::$_scripts = $deps;
             self::$_scriptsPackages = $packages;
         }
         if (isset(self::$_scripts[$name])) {
             $this->_registeredScripts[$name] = true;
         } else {
             throw new TInvalidOperationException('csmanager_pradoscript_invalid', $name);
         }
         if (($packages = array_keys($this->_registeredScripts)) !== array()) {
             $packagesUrl = array();
             $isDebug = $this->getApplication()->getMode() === TApplicationMode::Debug;
             foreach ($packages as $p) {
                 foreach (self::$_scripts[$p] as $dep) {
                     foreach (self::$_scriptsPackages[$dep] as $script) {
                         if (!isset($this->_expandedScripts[$script])) {
                             list($base, $subPath) = $this->getScriptPackageFolder($script);
                             list($path, $baseUrl) = $this->getPackagePathUrl($base);
                             $this->_expandedScripts[$script] = true;
                             if ($isDebug) {
                                 if (!in_array($url = $baseUrl . '/' . $subPath, $packagesUrl)) {
                                     $packagesUrl[] = $url;
                                 }
                             } else {
                                 if (!in_array($url = $baseUrl . '/min/' . $subPath, $packagesUrl)) {
                                     if (!is_file($filePath = $path . '/min/' . $subPath)) {
                                         $dirPath = dirname($filePath);
                                         if (!is_dir($dirPath)) {
                                             mkdir($dirPath, PRADO_CHMOD, true);
                                         }
                                         file_put_contents($filePath, TJavaScript::JSMin(file_get_contents($base . '/' . $subPath)));
                                         chmod($filePath, PRADO_CHMOD);
                                     }
                                     $packagesUrl[] = $url;
                                 }
                             }
                         }
                     }
                 }
             }
             foreach ($packagesUrl as $url) {
                 $this->registerScriptFile($url, $url);
             }
         }
     }
 }