Herramientas de usuario

Herramientas del sitio


desarrollo:firmware:generador

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

desarrollo:firmware:generador [2016/06/28 23:06]
cpantelides corrección foreach
desarrollo:firmware:generador [2016/07/19 23:52] (actual)
cpantelides
Línea 105: Línea 105:
 Carga efímera de Helper con invocación en el template: Carga efímera de Helper con invocación en el template:
  
-<​code>​+<​code ​php>
 $this->​loadHelper("​modules/​rtos/​gen/​ginc/​HelperX.php"​);​ $this->​loadHelper("​modules/​rtos/​gen/​ginc/​HelperX.php"​);​
 </​code>​ </​code>​
Línea 111: Línea 111:
 Carga permanente por linea de comando: Carga permanente por linea de comando:
  
-<​code>​+<​code ​bash>
 -H modules/​rtos/​gen/​ginc/​HelperX.php -H modules/​rtos/​gen/​ginc/​HelperX.php
 </​code>​ </​code>​
Línea 117: Línea 117:
 La inclusión de helpers brinda acceso a los métodos de un objeto Helper: La inclusión de helpers brinda acceso a los métodos de un objeto Helper:
  
-<​code>​+<​code ​php>
 $this->​helper->​multicore->​getLocalList("/​OSEK",​ "​TASK"​);​ $this->​helper->​multicore->​getLocalList("/​OSEK",​ "​TASK"​);​
 </​code>​ </​code>​
Línea 125: Línea 125:
 Para la migración hay que estar atentos a la aparición en el log de mensajes de warning o error referidos a variables indefinidas como $os, $priority y $tasks. Se soluciona copiando del template anterior que funcione y tenga las llamadas tipo  Para la migración hay que estar atentos a la aparición en el log de mensajes de warning o error referidos a variables indefinidas como $os, $priority y $tasks. Se soluciona copiando del template anterior que funcione y tenga las llamadas tipo 
  
-<​code>​+<​code ​php>
 $tasks = $this->​helper->​multicore->​getLocalList("/​OSEK",​ "​TASK"​);​ $tasks = $this->​helper->​multicore->​getLocalList("/​OSEK",​ "​TASK"​);​
 </​code>​ </​code>​
Línea 142: Línea 142:
  
 Las opciones se pueden consultar con  Las opciones se pueden consultar con 
-<​code>​+<​code ​bash>
 php modules/​rtos/​generator/​generator.php --help php modules/​rtos/​generator/​generator.php --help
  
Línea 218: Línea 218:
 Los loops tienen contadores implícitos que se pueden aprovechar para simplificar el código. Los loops tienen contadores implícitos que se pueden aprovechar para simplificar el código.
  
-<​code>​+<​code ​php>
 foreach ($coleccion as $contador=>​$elemento) { foreach ($coleccion as $contador=>​$elemento) {
    ​print("​elemento:​ " . $elemento->​nombre . " posición: " . $contador);    ​print("​elemento:​ " . $elemento->​nombre . " posición: " . $contador);
Línea 224: Línea 224:
 </​code>​ </​code>​
  
-producira:+producirá:
  
 <​code>​ <​code>​
Línea 234: Línea 234:
 y es equivalente a: y es equivalente a:
  
-<​code>​+<​code ​php>
 $contador = 0; $contador = 0;
 foreach ($coleccion as $elemento) { foreach ($coleccion as $elemento) {
Línea 241: Línea 241:
 </​code>​ </​code>​
  
-o a+tambien ​a
  
-<​code>​+<​code ​php>
 for($contador = 0; $contador < $coleccion.size();​ $contador++) { for($contador = 0; $contador < $coleccion.size();​ $contador++) {
    ​print("​elemento:​ " . $elemento->​nombre . " posición: " . $contador++);​    ​print("​elemento:​ " . $elemento->​nombre . " posición: " . $contador++);​
Línea 254: Línea 254:
  
  
-Los recursos disponibles en el contexto del template ​con+Los recursos disponibles en el contexto del template ​son
   * log   * log
   * config   * config
   * helper   * helper
  
-y se acceden mediante $this->+y se acceden mediante ​<code php>$this-></​code>
  
 +en particular, la clase Log provée:
 +
 +<code php>
 +$this->​log->​info($msg);​
 +$this->​log->​warn($msg);​
 +$this->​log->​error($msg);​
 +</​code>​
 +
 +En caso de cancelar, por ahora hay que tirar una excepción usando la OilGeneratorException
 +
 +<code php>
 +throw new OilGeneratorException($msg,​ $exitCode);
 +</​code>​
  
  
desarrollo/firmware/generador.txt · Última modificación: 2016/07/19 23:52 por cpantelides