Fichier de syntaxe pour EditPlus

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

19 févr. 2005, 07:48

Si comme moi vous utilisez EditPlus, ce script est fait pour vous. Sinon, passez votre chemin.

L'intérêt du script est très simple: générer un fichier de syntaxe (.stx) adapté à votre configuration. Les fichiers que l'on peut trouver sur le web sont rarement complets, et quand ils le sont ils sont gigantesques. À la place, je vous propose d'en générer un qui collera parfaitement à votre version de PHP et aux extensions installées. Sauvegardez ce script où ça vous chante, exécutez-le via votre browser préféré puis remplacez votre ancien php.stx avec celui que vous venez de downloader.

Code : Tout sélectionner

<?php @session_start(); if (FALSE) { $GLOBALS;$_GET;$_POST;$_REQUEST;$_COOKIE;$_ENV;$_SERVER;$_SESSION; } $global_vars = array_keys(get_defined_vars()); $classes = get_declared_classes(); $file = '#TITLE=PHP ' . PHP_VERSION . "\n"; $file .= <<<HEREDOC #CASE=n #DELIMITER=,(){}[]-+*%/="`'~!&|<>?:;.#@<<< #QUOTATION1=' #QUOTATION2=" #CONTINUE_QUOTE=n #LINECOMMENT=// #LINECOMMENT2=# #COMMENTON=/* #COMMENTOFF=*/ #COMMENTON2= #COMMENTOFF2= #ESCAPE=\ #PREFIX1= #PREFIX2= #PREFIX3=$ #PREFIX4= #PREFIX5= #SUFFIX1= #SUFFIX2= #SUFFIX3= #SUFFIX4= #SUFFIX5= #HTML_EMBEDDED=y #SCRIPT_BEGIN=<? #SCRIPT_END=?> #SKIP_QUOTE=y #NUMBER_PATTERN=cpp #keyword=Reserved words php $ @ int integer string double float real bool boolean array object and or xor __FILE__ exception __LINE__ as break case class const continue declare default die do echo else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval exit extends for foreach function global if include include_once isset list new print require require_once return static switch unset use var while __FUNCTION__ __CLASS__ __METHOD__ final php_user_filter interface implements extends public private protected abstract clone try catch throw #keyword=Built-in functions __autoload __call __clone __construct __destruct __get __set HEREDOC; // Fuck the highlighter <?php $methods = array(); foreach ($classes as $class) { $class_methods = get_class_methods($class); sort($class_methods); $file .= "\n;{$class}\n"; foreach ($class_methods as $method) { if (substr($method, 0, 2) == '__' || isset($methods[$method])) { continue; } $methods[$method] = 0; $file .= $method . "\n"; } } unset($methods); $file .= "\n;PHP functions"; $functions = get_defined_functions(); sort($functions['internal']); foreach ($functions['internal'] as &$function) { $file .= "\n" . $function; } $file .= "\n\n#keyword=Predefined Variables"; sort($global_vars); foreach ($global_vars as $varname) { $file .= "\n" . $varname; } $file .= "\n\n#keyword=Predefined Classes\nself\nparent\n"; $file .= implode("\n", $classes) . "\n"; $file .= "\n;Predefined Interfaces\n"; $file .= implode("\n", get_declared_interfaces()) . "\n"; $file .= "\n\n#keyword=Predefined Constants\n"; $constants = array_keys(get_defined_constants()); sort($constants); $file .= implode("\n", $constants); header('Content-Type: text/plain'); header('Content-Length: ' . strlen($file)); header('Content-Disposition: attachment; filename=php.stx'); echo $file; ?>

Eléphant du PHP | 334 Messages

19 févr. 2005, 12:53

Merci moi aussi je code sous EditPlus :wink: