2016-06-19 1 views
0

Il existe tellement de langages de prétraitement ou de compilation, chacun avec sa propre courbe d'apprentissage, par ex. (scss, sass, jade, tapuscrit) et le nombre ne semble pas réduire. Ce ne serait pas génial si les développeurs pouvaient exécuter PHP pour produire un document texte, tout comme la façon dont les éléments ci-dessus sont compilés en natif (html, css, js) en utilisant les surveillants de fichiers.Pré-traitement de PHP vers n'importe quel document texte à l'aide de File Watcher dans JetBrains Product

Avantages

  1. Aucune courbe d'apprentissage supplémentaire.
  2. Une langue.
  3. Réduire le codage répétitif.
  4. Générez votre code en moins de temps avec moins de bugs
  5. Produire un code cohérent qui respecte vos normes.
  6. plus de temps consacré à la planification de notre application.

qu'avons-I Tried

En éditant Jade code source et en changeant l'extension du html à php.

File:  jade.js 

Location: npm\node_modules\jade\bin\ 

Line:  249 

Je suis en mesure d'exécuter le fichier Jade à PHP

enter image description here

COMMENT JE PENSE Thiis PEUT ATTEINDRE

il pourrait y avoir plusieurs de ces transpilers.

modèle-css -> compile à css

modèle-php -> à php compile

modèle-js -> compile en javascript.

et ainsi de suite.

Le Moyen Parser ou guetteurs de fichiers fera principalement trois tâches

  1. Remplacez l'extension de fichier à partir du modèle-filetye à php.

  2. Exécute le nouveau fichier.php par rapport à l'exécutable ou à l'analyseur PHP, comme s'il était exécuté dans un navigateur.

  3. Retournez au fichier observateur le texte spécifié.

Voici le code dans le fichier jade.cmd

@IF EXIST "%~dp0\node.exe" (
    "%~dp0\node.exe" "%~dp0\node_modules\jade\bin\jade.js" %* 
) ELSE (
    @SETLOCAL 
    @SET PATHEXT=%PATHEXT:;.JS;=;% 
    node "%~dp0\node_modules\jade\bin\jade.js" %* 
) 

Note: Je ne comprends pas le fichier cmd. Je n'ai pas modifié ce fichier, mais j'ai appris qu'il pourrait être utile à tous ceux qui veulent aider.

Inspiration

http://www.codesmithtools.com/product/generator

Les liens qui pourraient être utiles

http://php.net/manual/en/function.exec.php

http://php.net/manual/it/install.windows.commandline.php

Toute aide à la construction du Filewatcher ou quel que soit le nom approprié est sera grandement appréciée.

Répondre

1

Si vous cherchez seulement un moyen de regarder et d'exécuter des fichiers php à partir de l'IDE quand ils changent, vous avez déjà tout ce dont vous avez besoin.

Jetez un oeil à ce file watcher in PhpStorm

Ce veilleur de fichier sera exécuté $PhpExecutable$ qui dans mon cas se traduit par /usr/lib/php chaque fois qu'un fichier dans Working directory changements et de STDOUT dans un fichier dans le même répertoire, mais avec nouvelle extension .txt

IDE sera automatiquement group input and output file afin qu'ils soient plus faciles à gérer.

Si vous avez besoin quelque chose de plus avancé, vous pouvez toujours écrire propre script qui pourrait être exécuté au lieu de $PhpExecutable$ et utiliser le contrôle de sortie php

Par exemple:

#!/usr/bin/env php 
<?php 

ob_start(); 
// ... preprocess? init some variables? 
include $argv[1]; 
$output = ob_get_clean(); 
// ... postprocess $output? 
echo $output; // echo to STDOUT, or to file with file_put_contents(preg_replace('/\.php$/', '.txt', $argv[1]), $output); 
+0

Je reçois exécutable non valide. – Koofah

+0

@Koofah semble ne pas pouvoir trouver l'exécutable 'php', assurez-vous de l'avoir dans le chemin de votre système. Si cela échoue, vous pouvez entrer le chemin absolu pour 'php' (dans mon cas'/usr/bin/php' sur Ubuntu, peut être différent sur Mac, autres systèmes linux ou Windows) –

+0

Merci Cela fonctionne comme prévu J'ai défini le chemin complet à l'exécutable. J'ai 2 questions. 1. dans quelle extension dois-je enregistrer le script personnalisé. 2. Dans le script personnalisé, je voudrais exécuter par ex. file.template-txt to .txt et file2.template-css to .css – Koofah